|
Mad |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 13.12.2011, 14:57
Titel: Runge Kutta 4. Ordnung
|
 |
Hi Leute, bin sehr neu in Sachen matlab und muss derzeit eine schrittweise Integration mit dem Runge Kutta Verfahren 4. Ordnung durchführen. Ich hab dazu einen Code im Internet gefunden:
wenn ich das nach meinem Vorhaben abänder, sagt er aber:
??? Input argument "P" is undefined.
Error in ==> @(dQdt,avQ,P,ET,Q_Initial)((dQdt/avQ)*(P-ET/Q_Initial-1))
Heißt das, dass ich nen Fehler in der Definition meiner Differentialgleichung habe? Was bedeutet denn eigentlich das @(t,r) in obigem code, das vor der differentialgleichung steht?
ich hab obigen code folgendermaßen für mich abgeändert, wo sind die fehler?
Ich hab wirklich sehr wenig Ahnung und hab das Problem, dass ich nicht einmal weiß, wonach ich genau googeln soll um meine Fragen zu lösen, deshalb frag ich euch jetzt mal ganz konkret, dann leuchtets nem Neuling wie mir vllt am besten ein.
|
|
|
|
|
Mad |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 13.12.2011, 18:39
Titel: nochmal
|
 |
Ich bins nochmal. Hab jetzt gesehen, dass das ganze wenn ich mich nicht täusche ja auch einfacher geht mit ode45
In einem tutorial hab ich gelesen, dass man zuerst im editor die funktion definieren soll:
etwa so bei der differentialgleichung: y'(x)=-2*x*y(x)
und dann so gelöst werden kann.
jetzt wollte ich das auf meinen fall anwenden und hab folgendes eingegeben:
und dann:
dann zeigt er mir aber an:
>> loesung=ode45(@Abflussberechnung,[1,30000],Q_Initial);
??? Input argument "P" is undefined.
Error in ==> Abflussberechnung at 2
dQ_dt=((dQdt/avQ)*(P-ET/Q-1));
Error in ==> odearguments at 98
f0 = feval(ode,t0,y0,args{:}); % ODE15I sets args{1} to yp0.
Error in ==> ode45 at 172
[neq, tspan, ntspan, next, t0, tfinal, tdir, y0, f0, odeArgs, odeFcn,
...
mir war schon klar, dass das nicht direkt hinhaut, aber was genau mach ich falsch?
|
|
|
Mad |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 13.12.2011, 21:10
Titel: ---
|
 |
hat keiner nen tipp? mit dem beispiel aus diesem tutorium mit der differentialgleichung
dy = -2*x*y
klappt die integration mit ode45 wunderbar. aber bei meiner differentialgleichung klappt gar nix mehr:
dQ = ((dQdt/avQ)*(P-ET/Q-1))
was hab ich denn im obigen code falsch gemacht?
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 13.12.2011, 21:48
Titel: Re: ---
|
 |
Hallo Mad,
Zitat: |
mit dem beispiel aus diesem tutorium mit der differentialgleichung
dy = -2*x*y
klappt die integration mit ode45 wunderbar. aber bei meiner differentialgleichung klappt gar nix mehr:
dQ = ((dQdt/avQ)*(P-ET/Q-1)) |
Wo liegt denn der Unterschied zwischen den beiden Funktionen?
Und wo könnte der Zusammenhang mit
Zitat: |
??? Input argument "P" is undefined. |
liegen?
Deine Differentialgleichung hast Du so definiert:
Du rufst sie aber so auf:
Nun vergleiche die Anzhal der Inputargument: Einmal 5, einaml 2. Also sind die Argumente 3, 4 und 5 nicht definiert. Das erste davon ist "P", deshalb wird nur diesbezüglich gewarnt. Die ET und Q_Initial fehlen aber auch.
Gruß, Jan
|
|
|
Mad |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 13.12.2011, 22:13
Titel: ---
|
 |
Vielen Dank schonmal für deine Antwort, ich hab grad Kopfschmerzen und werd mich daher erst morgen wieder dem ganzen widmen
Falls bei mir noch ne Frage aufkommt, werd ich sie hier stellen.
Bis dahin schonmal wie gesagt vielen Dank, dass auch absoluten Anfängern geholfen wird
|
|
|
chrisly |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 23.05.2016, 17:52
Titel: Probleme bei runge kutta 4.Ordnung
|
 |
Hallo,
ich habe auch ein Problem mit meiner Projektarbeit.
Muss eine numerische Lsg. mittels Runge-kutta programmieren für ein Fadenpendel (mathematisches Pendel) für kleine Auslenkungen.
kriege es iwie nicht hin.
mein code mit function befindet sich im Anhang.
ich würde mich sehr über eine schnelle Hilfe freuen.
Beschreibung: |
|
 Download |
Dateiname: |
runge2.PNG |
Dateigröße: |
3.31 KB |
Heruntergeladen: |
705 mal |
Beschreibung: |
|
 Download |
Dateiname: |
runge1.PNG |
Dateigröße: |
17.13 KB |
Heruntergeladen: |
712 mal |
|
|
|
|
|
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 - 2025
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.
|
|