|
juuuwe |

Forum-Anfänger
|
 |
Beiträge: 14
|
 |
|
 |
Anmeldedatum: 24.06.09
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 31.07.2009, 13:48
Titel: DGL 2. Ordnung plotten
|
 |
|
 |
|
heiho... ich hab mal versucht folgendes Beispiel, das ich im netz gefunden habe nachzuvollziehen:
gegeben ist eine DGL 2. Ordnung: y'' + y' + 16y = sin(2t) mit y(0) = 1, y'(0) = 0 als Anfangsbedingungen.
Dieses wird in ein System von DGLs 1. Ordnung gebracht, indem y(1)=y gesetzt wird und y(2)=y'.
Das Programm soll nun folgendermaßen ausshen:
Ich weis jetzt allerdings nicht, in welcher Form ich t und y einzugeben hab. t müsste an sichdoch bloß irgend ne zeit sein (z.B. t=1) und y soll laut kommentar ein vektor mit den werten y(1) und y(2) sein (also doch z.B. y=[1 0]).
Wenn ich das ganze nun laufen lassen möchte kommt folgende Meldung:
Zitat: |
??? Maximum recursion limit of 100 reached. Use set(0,'RecursionLimit',N)
to change the limit. Be aware that exceeding your available stack space can
crash MATLAB and/or your computer.
Error in ==> ode45 at 7
% to f(t,y). Each row in the solution array YOUT corresponds to a time |
Kann mir vielleicht jemand nen tipp geben, was ich anders machen müsste, damit der spaß funktioniert?
Danke im Voraus,
juuuwe
|
|
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 31.07.2009, 17:43
Titel:
|
 |
Hallo,
das Problem besteht darin, dass ...
die Funktion schwingung die Funktion ode45 aufruft,
die zur Simulation die Funktion schwingung aufruft,
die die Funktion ode45 aufruft,
die zur Simulation die Funktion schwingung aufruft,
die die Funktion ode45 aufruft, ...
Also eine wunderbare Endlosschleife, die MATLAB netterweise stoppt.
Probiers mal so:
Dies als Funktion abspeichern
und diesen Code dann als Skript ausführen
Habs nicht ausprobiert, sollte aber gehen.
Grüße,
Harald
|
|
|
juuuwe |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 14
|
 |
|
 |
Anmeldedatum: 24.06.09
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 31.07.2009, 18:03
Titel:
|
 |
funktioniert...lieben dank
gruß, juuuwe
|
|
|
Gast |
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 05.01.2010, 21:50
Titel: Noch ne Frage
|
 |
Ich hab das gleiche Problem und bei mir funktioniert das leider nicht.
los = ode45('schwingung',...
oder
los = ode45(@schwingung,...
bringt immer ein Problem mit den Variablen x oder t ...
Arbeite mit R2007
Bitte helft mir - bin am verzweifeln
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 05.01.2010, 22:26
Titel:
|
 |
Hallo,
die erste Zeile der Funktion schwingung muss in etwa so aussehen:
Sprich, t muss übergeben werden, auch wenn du es nicht brauchst.
Um dir mehr zu helfen, müsstest du mehr Informationen (genaue Fehlermeldung; Code-Teil, in dem sie auftritt) zur Verfügung stellen.
Grüße,
Harald
|
|
|
|
|
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.
|
|