WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Surf-Grafik aus Daten von ode-Solver erzeugen

 

stiffi
Forum-Anfänger

Forum-Anfänger


Beiträge: 41
Anmeldedatum: 13.07.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 31.08.2011, 10:10     Titel: Surf-Grafik aus Daten von ode-Solver erzeugen
  Antworten mit Zitat      
Hallo goMATLAB Community,

hat jemand von Euch Erfahrung, wie man die Daten aus einem ode-Solver in einen Surf-Plot übertragen kann?
In der horizontalen Ebene sollen die Werte zweier unabhängiger Größen variiert werden. In der vertikalen Achse soll die von den beiden variierten Werten abhängige Größe gezeigt werden.
Hat jemand eine Idee wie man das umsetzen kann?

Gruß Stiffi
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.499
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 31.08.2011, 13:49     Titel:
  Antworten mit Zitat      
Hallo,

mir ist nicht klar, wie du dir das vorstellst.

Du könntest z.B. dy/dt = f(t, y) lösen, was dir die y-Werte für bestimmte t-Werte gibt.
Das einzig sinnvolle, was ich mir noch vorstellen könnte, ist, dass in f ein Parameter a auftaucht und du also mehrere Lösungskurven bekommst, aus denen man dann auch eine Oberfläche machen könnte.

Wenn a sich auch zeitlich ändert, wird das eine partielle Differentialgleichung und kann mit ode-Solvern nicht gelöst werden.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
stiffi
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 41
Anmeldedatum: 13.07.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 31.08.2011, 13:59     Titel:
  Antworten mit Zitat      
Hallo Harald,

genau, prinzipiell löse ich in meinem Gleichungssystem dy/dt = f(t, y). Wobei t die Zeit ist und y sind die Werte, die ich in Abhängigkeit von zwei unabhängigen Größen, x1 und x2, angeben möchte. x1 und x2 sollen in einem bestimmten Bereich variiert werden. Normalerweise gehen sie nur als konstante Größen in das Gleichungssystem ein.
Die Zeit t möchte ich zu einem gegebenen Zeitpunkt irgendwie festhalten und dann bei diesem Zeitpunkt, für verschiedene Werte von x1 und x2 das Ergebnis y in der z-Koordinate auftragen.

Habe ich mich diesesmal verständlicher ausgedrückt?

Gruß Stiffi
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.499
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 31.08.2011, 14:08     Titel:
  Antworten mit Zitat      
Ja, das ist klarer. Es bedeutet, dass du eine for-Schleife über dein Gitter von x1- und x2-Werten laufen lassen musst und jedes Mal die ODE lösen musst. Der "festgehaltene t-Wert" sollte geschickterweise der zweite Wert von TSPAN sein.

Wo genau liegen nun die Fragen?

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
stiffi
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 41
Anmeldedatum: 13.07.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 31.08.2011, 14:23     Titel:
  Antworten mit Zitat      
Danke.
Eine for-Schleife also. Das hört sich abenteuerlich an Shocked
Aber jetzt meinen wir dasselbe.
Ich versuche mal Deinen Vorschlag umzusetzen Smile

Gruß Stiffi
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.499
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 31.08.2011, 15:30     Titel:
  Antworten mit Zitat      
Hallo,

ich sehe nicht viel andere Möglichkeiten. Du könntest natürlich auch mehrere DGLen parallel in ode45 reinstecken, aber ich habe meine Zweifel, dass es das besser macht - insbesondere, wenn sich mit den Parametern die Systemdynamik ändert.

Ich würde das erst mal mit wenigen (z.B. je 10) Werten für x1 und x2 ausprobieren. 100 Simulationen sollten ja in vernünftiger Zeit möglich sein, egal wie man es anstellt.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
stiffi
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 41
Anmeldedatum: 13.07.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.09.2011, 09:26     Titel:
  Antworten mit Zitat      
Hi,

nach langem hinausschieben hab ich mir das Ganze nochmal angesehen.
Die Lösung mit der for-Schleife, bzw. mit 2 for-Schleifen funktioniert. Man muss nur ziemlich aufpassen, was sich beim Durchlaufen der Schleifen alles ändert.
Danke für Eure Tips.

Gruß
Stiffi
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button 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.