|
|
Visualisierung einer inhomogenen DGL 2. Ordnung |
|
Ovid |
Themenstarter
Forum-Fortgeschrittener
|
|
Beiträge: 81
|
|
|
|
Anmeldedatum: 25.06.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 01.07.2011, 21:23
Titel:
|
|
Ah, okay...jetzt versteh ich das so allmählich...
dy ist mein Rückgabewert;
vdp1000 ist der Name der Funktion;
(t,y) sind meine Input-Werte
Und bei der Zeile [T,Y] werden diesen Werten die Funktion mit den Parametern von t und y übergeben, wobei t ein Vektor ist mit [0 3000] und y ein Vektor ist mit [2 0].
Danach plottet Matlab T und Y...was bedeutete nochmal der Doppelpunkt und die 1 nach dem Komma...? =>(:,1) ?
Habt erbarmen, ist schon spät...-.-
|
|
|
|
|
DSP |
Forum-Meister
|
|
Beiträge: 2.117
|
|
|
|
Anmeldedatum: 28.02.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2014b
|
|
|
|
|
|
Verfasst am: 01.07.2011, 21:45
Titel:
|
|
(:,1) = Alle Elemente der 1. Spalte
|
|
|
Ovid |
Themenstarter
Forum-Fortgeschrittener
|
|
Beiträge: 81
|
|
|
|
Anmeldedatum: 25.06.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 01.07.2011, 21:53
Titel:
|
|
Okay, dann habe ich das jetzt erstmal verstanden...
Aber mit der DGL muss ich erstmal nochmal schauen...
|
|
|
Ovid |
Themenstarter
Forum-Fortgeschrittener
|
|
Beiträge: 81
|
|
|
|
Anmeldedatum: 25.06.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 01.07.2011, 22:10
Titel:
|
|
Ich habe mal mit meinen Komilitonen geredet, also ich kann doch auch die DGL symbolich lösen, mit dsolve. Das ginge doch erstmal dann so:
[code]
dsolve('D2y+(2*Dy)-3*y=3*(x^2)-4*x','x')
[/code]
Nur, wie kann ich das ohne Startwerte jetzt plotten?
Bei der Eingabe:
[code]
ezplot(ans)
[/code]
gibts nur diese Fehlermeldung...:
[code]
??? Error using ==> char
Cell elements must be
character arrays.
Error in ==> ezplot at 158
fmsg = char(f);
Error in ==> sym.ezplot at
45
h = ezplot(char(f));
[/code]
Was meint Matlab jetzt detailiert damit...?
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 02.07.2011, 10:35
Titel:
|
|
Hallo,
auch dieser Ansatz ist möglich.
Allerdings musst du in der Lösung der DGL die Konstanten angeben, z.B. so:
Grüße,
Harald
|
|
|
Ovid |
Themenstarter
Forum-Fortgeschrittener
|
|
Beiträge: 81
|
|
|
|
Anmeldedatum: 25.06.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 02.07.2011, 13:29
Titel:
|
|
Okay, nur was bedeutet subs und das {1,2} ?
Grüße
Ovid
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 02.07.2011, 14:04
Titel:
|
|
Hallo,
was subs bedeutet, kannst du leicht in der Hilfe nachschlagen:
Die Befehle sind sogar hier im Forum verlinkt, so dass du eigentlich nur draufklicken musst.
Kurz gesagt: subs steht für substitute (ersetzen).
In dem Fall werden C2 = 1 und C3 = 2 eingesetzt.
Grüße,
Harald
|
|
|
Ovid |
Themenstarter
Forum-Fortgeschrittener
|
|
Beiträge: 81
|
|
|
|
Anmeldedatum: 25.06.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 02.07.2011, 14:29
Titel:
|
|
Aber wieso wird für C2 und C3 was eingesetzt? Ich habe doch keine Startwerte? Kann Matlab das nicht symbolisch plotten, sprich nur die allgemeine Lösung mit einem, ich glaube das nennt man Zeichenbereich...?
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 02.07.2011, 17:38
Titel:
|
|
Hallo,
Wie soll so ein symbolischer Plot denn aussehen? 4D??
Startwerte wirst du wohl brauchen. Wenn du keine hast, kannst du ein paar Startwerte oder Parameter wählen und jeweils die Lösungen plotten, um eine Art Lösungsschar zu bekommen.
Grüße,
Harald
|
|
|
Andy386 |
Forum-Guru
|
|
Beiträge: 485
|
|
|
|
Anmeldedatum: 24.06.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: 7.1/8
|
|
|
|
|
|
Verfasst am: 03.07.2011, 00:57
Titel:
|
|
du verstehst noch nicht mal den mathematischen Hintergrund... klar könnte matlab auch das plotten, wenn auch du den Plot weder erstellen noch verstehen könntest. Das Problem ist doch nicht der plot...
Die sache ist die, dass man dass einfach nicht so rechnen kann (und matlab auch nicht - dass ist der Teil mit dsolve). Deswegen brauchst du Startwerte.
http://de.wikipedia.org/wiki/Anfangsbedingung
http://de.wikipedia.org/wiki/Anfangswertproblem
_________________
Ich hasse es wenn die Leute Fragen stellen, man dann versucht sich Mühe zu geben, und diejenigen ihren Thread nie wieder besuchen...
|
|
|
Ovid |
Themenstarter
Forum-Fortgeschrittener
|
|
Beiträge: 81
|
|
|
|
Anmeldedatum: 25.06.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 03.07.2011, 12:20
Titel:
|
|
Ah, okay...dann werd ich das nachher mal ausprobieren, danke auf jeden Fall erstmal bis hierhin...^^
|
|
|
Ovid |
Themenstarter
Forum-Fortgeschrittener
|
|
Beiträge: 81
|
|
|
|
Anmeldedatum: 25.06.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 03.07.2011, 13:21
Titel:
|
|
hm...er gibt immer noch einen Fehler aus:
[code]
??? Error using ==> char
Cell elements must be
character arrays.
Error in ==> ezplot at 158
fmsg = char(f);
Error in ==> sym.ezplot at 45
h = ezplot(char(f));
[/code]
|
|
|
Ovid |
Themenstarter
Forum-Fortgeschrittener
|
|
Beiträge: 81
|
|
|
|
Anmeldedatum: 25.06.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 03.07.2011, 13:31
Titel:
|
|
Ah, ich weiß was los ist...
Matlab benutzt nicht mehr, aus welchen Gründen auch immer, C2 und C3, sonder nun sind C6 und C7 seine Konstanten...
also musste ich nur bei soll12 anstelle C2 und C3, C6 und C7 benutzen und vorher C6 und C7 als syms deklarieren...^^
Aber, trotzalledem zeigt er nur eine Lösung an, wie bekomme ich eine Lösungsschar von 20 Kurven hin??
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 03.07.2011, 13:35
Titel:
|
|
Hallo,
in dem du - wie bereits vorher erwähnt - über verschiedene Parameter iterierst.
Grüße,
Harald
|
|
|
Ovid |
Themenstarter
Forum-Fortgeschrittener
|
|
Beiträge: 81
|
|
|
|
Anmeldedatum: 25.06.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 03.07.2011, 14:01
Titel:
|
|
HaHA, ich hab einen Lösungsansatz...sehet und staunet...^^:
[code]
n=0;
for i=1:22
C(i)= n+1;
C(i+1)= n+2;
n= n+1;
end
[/code]
Ich habe eine for Schleife kreiert, die von i=1 bis 22 zählt.
Dabei erhöht sich halt der Index von den Konstanten un der darüber jeweils um 1, sowie die Werte sich auch um 1 erhöhen.
Dann habe ich deinen Code etwas umgewandelt:
[code]
sol12 = subs(sol,{C(i), C(i+1)},{(n+i), (n+i+1)})
[/code]
Um halt den Konstanten die Werte zuzuweisen...
wenn ich halt dann halt das mache:
[code]
ezplot(sol12)
[/code]
dann gibt er mir wieder die folgende Fehlermeldung zurück:
[code]
??? Error using ==> char
Cell elements must be
character arrays.
Error in ==> ezplot at 158
fmsg = char(f);
Error in ==> sym.ezplot at
45
h = ezplot(char(f));
[/code]
|
|
|
|
Gehe zu Seite Zurück 1, 2, 3 Weiter
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2024
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|