Matlab error: undefined function of variablele x

Moderators: jkien, Xilvo

Reageer
Berichten: 213

Matlab error: undefined function of variablele x

Hallo,

Voor school moet ik een opdracht doen in Matlab, aangezien ik hier nog niet zo vaak mee gewerkt heb, is dit voor mij een aardig lastige klus. De opdracht is om een grafiek te tekenen met daarin de dwarskrachten en de buigende momenten.

We hebben een balk gekregen waar een aantal belastingen op werken (momenten, puntkrachten en verdeelde belastingen). In totaal heb ik 9 VLS'en getekend, en ik heb dus voor ieder VLS een waarde voor V(x) en M(x). Waarin met V(x) de dwarskrachten worden aangegeven en M(x) de buigende momenten.

Al deze formules heb ik in matlab ingevoerd en de gegeven variabelen heb ik ingevoerd.

Nu probeer ik dit programma te runnen, maar ik krijg constant de foutmelding: undefined function of variable 'x'.

Als voorbeeld heb ik hieronder weergegeven hoe ik het in matlab heb ingevoerd.

%VLS 1: LM1 tot LH1 (0 tot 6)

V(x) = 0;

M(x) = - M1;

%VLS 2: LH1 tot LM2 (6 tot 7)

V(x) = FA_y;

M(x) = FA_y*(x - LH1) - M1;

In de opdracht zijn wel het beginpunt (x0) en eindpunt (xend) van de balk gegeven

x0 = min([0,LF1])

xend = max([22,LF6])

Hoe moet ik nu de waarde voor x invoeren in matlab. Bij mij is volgens mij het beginpunt van de balk 0 en het eindpunt LF6 = 23. Moet ik dan dit domein invoeren in matlab, zo ja hoe?


Berichten: 213

Re: Matlab error: undefined function of variablele x

DePurpereWolf schreef:x = x0:.1:xend;

http://www.mathworks.co.uk/help/techdoc/ref/plot.html
Oké bedankt! Kan matlab de formule niet gewoon uitdrukken in x.

Dat je bijvoorbeeld voor de momentformule M(x) = 3 + 6x krijgt.

Gebruikersavatar
Berichten: 7.224

Re: Matlab error: undefined function of variablele x

Nee, matlab werkt alleen met numeriek waarden, niet met symbolische (uitgezonderd de Symbolic ToolBox).
If I have seen further it is by standing on the shoulders of giants.-- Isaac Newton

Berichten: 213

Re: Matlab error: undefined function of variablele x

x = x0:.1:xend;


Als ik dit invoer in matlab, krijg ik steeds error. Ik heb x0 en xend als respectievelijk 0 en 23 gedefinieerd.

Doe ik iets verkeerd

Gebruikersavatar
Berichten: 10.561

Re: Matlab error: undefined function of variablele x

Doe ik iets verkeerd


Ja, je vertelt niet welke error je krijgt.
Cetero censeo Senseo non esse bibendum

Gebruikersavatar
Berichten: 2.097

Re: Matlab error: undefined function of variablele x

Je mag ook niet

Code: Selecteer alles

 

x=0:.1:23;

M(x) = 3 + 6x;
schrijven.

M(x) betekent voor matlab ofwel dat je de functie 'M' oproept, waarbij je x meegeeft aan deze functie.

Ofwel is M een vector en haal je hieruit een of meerdere elementen, waarbij x de indices bevat van de elementen die je wil. In het laatste geval mag x enkel positieve gehele waarden bevatten natuurlijk.

Bij het definiëren van M moet je de haakjes dus weglaten.

Voorbeeldjes:

Code: Selecteer alles

M=10:20;

i=5;
Als je nu M(i) opvraagt, krijg je het vijfde element van M terug, namelijk 15.

(Je kan dit ook rechtstreeks via M(5))

Code: Selecteer alles

M=10:20;

i=1:5;
Als je nu M(i) opvraagt, krijg je de vijf eerste elementen van M terug in een vector, namelijk [10 11 12 13 14 15]

(ook dit gaat rechtstreeks door M(1:5) te typen)

En voor jouw code:

Code: Selecteer alles

x=0:0.1:23;

M=FA_y*(x-LH1)-M1;
Kan je nu antwoorden hoe veel elementen M bevat en waaraan bijoorbeeld M(15) gelijk is?
"Why must you speak when you have nothing to say?" -Hornblower

Conserve energy: Commute with a Hamiltonian

Reageer