DGL 3. Ordnung Ber. und Plot. < Matlab < Mathe-Software < Mathe < Vorhilfe
|
Aufgabe | Lineare DGL 3. Ordnung (T²)y''(t)+2dTy'(t)+y(t)=1
Stellen Sie in einer gemeinsamen Grafik den zeitlichen Verlauf von y(t) für d=0,1, d=1, d=10 dar. (Symbolisch) |
Hallo, Ich versuche mich gerade an dieser Aufgabe komme aber leider nicht weiter. Ich hoffe es kann mir jemand Helfen.
syms T
syms d
syms y
syms y(t)
T=1
d=0.1
d2=1
d3=10
[mm] y=dsolve((T^2)*diff(y,2)+(2*d*T*diff(y))+y==1)
[/mm]
figure(66)
y=ezplot(y,[0,30,0,3])
leider kommen beim ploten ein paar Meldungen:
Error using char
Cell elements must be character arrays.
Error in ezplot (line 159)
fmsg = char(f);
Error in sym/ezplot (line 57)
h = ezplot(fhandle(f),[y(1) y(2)],[y(3) y(4)]);
Error in aufgabe12 (line 48)
y=ezplot(y,[0,30,0,3])
MfG
Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.
|
|
|
|
Hallo MupfelDupfel und willkommen im MatheRaum!
Also die Fehlermeldung bezüglich des Plots solltest du erstmal nicht weiter beachten, der Fehler passiert schon viel weiter vorne im Code. Neben den (vermutlich) unnötigen Definitionen von T, d und y als symbolische Variable überschreibst du direkt T und d wieder. Vermutlich habe ich mal in Klammern gesetzt, da ich normalerweise nicht mit symbolischen Variablen arbeite. Das ändert aber nichts daran, dass du T und d direkt wiedermit einem Wert überschreibst.
Ich denke, die größte Hilfe wäre es, dir den Befehlt dsolve nochmal genauer anzuschauen. Speziell die Angabe der Ableitungen und der Gleichung scheint mir da nicht so recht zu passen. Versuche es mal mit folgendem und schaue, ob du damit weiter kommst: fy = dsolve('T^2*D2y + 2*d*T*Dy + y = 1');
Die Variable T hast du ja auf 1 gesetzt. Ist das so vorgesehen oder hast du das einfach mal so gemacht? Geht aus der Angabe irgendwie nicht hervor.
|
|
|
|
|
Hallo sijuherm, vielen dank für die schnelle Antwort. Ich habe jetzt wie von dir vorgeschlagen fy berechnet und Matlab gibt mir diesen Wert heraus:
C3*exp(-(t*(d + ((d - 1)*(d + 1))^(1/2)))/T) + C2*exp(-(t*(d - ((d - 1)*(d + 1))^(1/2)))/T) + 1
Leider kann ich den Wert auf Richtigkeit nicht überprüfen ohne den ezplot davon zu sehen.
Die Werte T und d sind Anfangsbedinungen aus einer Unteraufgabe, deshalb hab ich die gleich übernommen.
Was mache ich Falsch bei dem ezplot?
ezplot(fy,[0,30,0,3])
|
|
|
|
|
Hi MupfelDupfel,
schreibe jetzt leider nur vom Handy aus und habe somit auch kein MATLAB da, um es zu überprüfen. Anfangsbedingungen kannst du im dsolve-Befehl mit angeben.
Zur Fehlermeldung vom ezplot-Befehl kann ich gerade nichts sagen. Ich vermute aber mal, dass sich auch durch die Angabe der Anfangsbedingungen daran nichts ändert. Müsste mir den morgen nochmal anschauen, um da ne Lösung zu finden.
Grüße
sijuherm
|
|
|
|