| 
|  
|  | 
| 
 
 
	
		|  | Anfang: Funktion plotten und DGL System lösen |  |  
 
| 
| sutoppu |  
|  
 Forum-Anfänger
 
 
 
|  |  
|  | Beiträge: 13 |  |  
|  |  
|  | Anmeldedatum: 26.04.11 |  |  
|  |  
|  | Wohnort: KÖLN |  |  
|  |  
|  | Version: --- |  |  
|  |  |  
|  |  | 
|  Verfasst am: 26.04.2011, 07:16    
Titel: Anfang: Funktion plotten und DGL System lösen |  |  
| Guten morgen   
 ich bin grad ein wenig am Verzweifeln... Ich muss eine Funktion f plotten und danach ein DGL System lösen (die Funktion ist teil der DGLn). Ich komme allerdings gar nicht zurecht (mein erster Versuch alleine irgendwas mit Matlab zu machen).
 
 mein Code sieht so aus (erstmal nur die Funkton):
 
 
 
 
 ist wahrscheinlich sehr umständlich... ich wusste nicht, ob man eine Funktion aus zwei Teilen mit einem normalen Befehl plotte kann... in der if-abfrage sollte eigentlich t_b stehen, aber dann bekomm ich eine Fehlermeldung, also habe ich den Wert für t_b ausgerechnet... naja
  Das Bildchen sieht der Lösung aus dem Buch auch ziemlich ähnlich! 
 Kann mir jemand sagen, ob das so ok ist?
 
 
 
	
		
	 
		| Beschreibung: |  |  Download
 |  
		| Dateiname: | Funktion.jpg |  
		| Dateigröße: | 49.65 KB |  
		| Heruntergeladen: | 797 mal |  |  |  
|  |  |  
		| 
 
 |  
| 
| sutoppu |  
| Themenstarter 
 
  
 Forum-Anfänger
 
 
 
|  |  
|  | Beiträge: 13 |  |  
|  |  
|  | Anmeldedatum: 26.04.11 |  |  
|  |  
|  | Wohnort: KÖLN |  |  
|  |  
|  | Version: --- |  |  
|  |  |  
|  |  | 
|  Verfasst am: 26.04.2011, 08:51    
Titel: weiter gehts |  |  
| Wenn ich die Funktion f habe, dann muss ich ein System lösen. Ich wollte es erstmal mit nem expl. Euler Versuchen... Das System besteht aus zwei Dgln. Ich hab versucht als erstes das System zu lösen, aber das klappt irgendwie schon nicht...
 
 
 
 p_iso stimmt so. Aber pv und pa sind falsch und ich sehe nicht warum... Meine Lösung von V (im Code f2, bzw x2) und ps (im Code f1 bzw x2) sind glaube ich schon nicht richtig.
 Und pa kann man so glaube ich auch nicht berechnen, aber mir ist bisher nix besseres eingefallen....
 
 Ich hab das Bild, das rauskommen soll mal angehängt... vllt liegts aber auch schon an der Funktion f aus dem ersten Teil?
 
 Ich hoffe jemand hat eine Idee
   
 
 
	
		
	 
		| Beschreibung: |  |  Download
 |  
		| Dateiname: | Lösung.jpg |  
		| Dateigröße: | 98.89 KB |  
		| Heruntergeladen: | 797 mal |  
	
		
	 
		| Beschreibung: |  |  Download
 |  
		| Dateiname: | system.jpg |  
		| Dateigröße: | 36.18 KB |  
		| Heruntergeladen: | 786 mal |  |  |  
|  |  
| 
| Thomas84 |  
|  
 Forum-Meister
 
 
 
|  |  
|  | Beiträge: 546 |  |  
|  |  
|  | Anmeldedatum: 10.02.10 |  |  
|  |  
|  | Wohnort: --- |  |  
|  |  
|  | Version: --- |  |  
|  |  |  
|  |  | 
|  Verfasst am: 27.04.2011, 05:53    
Titel: |  |  
| Ich würde vorschlagen du schaust dir mal die DGL-Löser von Matlab an (ode45). Es ist glaub ich noch einiges verkehrt bei deinem code. Du benötigst z.B. pv innerhalb der Schleife berechnest es aber erst nachher. Außerdem ist 
 
 
 sicherlich nicht richtig!?
 |  |  
|  |  
| 
| sutoppu |  
| Themenstarter 
 
  
 Forum-Anfänger
 
 
 
|  |  
|  | Beiträge: 13 |  |  
|  |  
|  | Anmeldedatum: 26.04.11 |  |  
|  |  
|  | Wohnort: KÖLN |  |  
|  |  
|  | Version: --- |  |  
|  |  |  
|  |  | 
|  Verfasst am: 27.04.2011, 17:16    
Titel: |  |  
| Ich habe im Code noch Zeichenfehler gefunden und das Problem mit pa gelöst  ich musste dV/dt > 0 ausgeben. Damit haben sich natürlich die anderen Lösungen stark verändert. Und meine Lösung sieht schon ganz gut aus. Aber ich meine dass f(i) noch nicht ganz richtig ist, für alpha <2 sieht die Lösung nicht aus wie eine Parabel... Pv habe ich einmal in der Schleife als auch danach berechnet, aber die Lösung ist dieselbe.
 Dafür musste ich aber pa innerhalb der Schleife bestimmen
 
 ich werd mir ode45 mal angucken! Aber warum sollte die Vorschrift nicht stimmen? Das sind eigentlich die einzigen zwei Zeilen bei denen ich mir sicher war
   |  |  
|  |  
| 
| Thomas84 |  
|  
 Forum-Meister
 
 
 
|  |  
|  | Beiträge: 546 |  |  
|  |  
|  | Anmeldedatum: 10.02.10 |  |  
|  |  
|  | Wohnort: --- |  |  
|  |  
|  | Version: --- |  |  
|  |  |  
|  |  | 
|  Verfasst am: 28.04.2011, 12:01    
Titel: |  |  
| Ich glaub ich hatte den Code noch nicht ganz durchschaut. Die Verwendung von ode45 und ein paar Kommentare würden denn Code sicherlich übersichtlicher machen. |  |  
|  |  
| 
| sutoppu |  
| Themenstarter 
 
  
 Forum-Anfänger
 
 
 
|  |  
|  | Beiträge: 13 |  |  
|  |  
|  | Anmeldedatum: 26.04.11 |  |  
|  |  
|  | Wohnort: KÖLN |  |  
|  |  
|  | Version: --- |  |  
|  |  |  
|  |  | 
|  Verfasst am: 01.05.2011, 12:10    
Titel: neues Problem |  |  
| Hallo   
 ich hab das System gelöst! Danke, dass ihr euch mein Problem angesehen habt
  das nächste mal, werde ich den Code auch ordentlicher aufschreiben! 
 Jetzt habe ich aber ein neues Problem:
 
 In einem weiteren System habe ich eine Zeitverzögerung:
 
 
 
 mit kappa = 0.45
 
 wenn ich das so implementiere, dann bekomme ich einen Fehler, dass man nur integer eingeben darf... wie kann man das beheben?
 |  |  
|  |  
| 
| Harald |  
|  
 Forum-Meister
 
 
 
|  |  
|  | Beiträge: 24.502 |  |  
|  |  
|  | Anmeldedatum: 26.03.09 |  |  
|  |  
|  | Wohnort: Nähe München |  |  
|  |  
|  | Version: ab 2017b |  |  
|  |  |  
|  |  | 
|  Verfasst am: 01.05.2011, 12:46    
Titel: |  |  
| Hallo, 
 so etwas wird als "Delay Differential Equation" bezeichnet.
 Fertige Löser sind dde23 oder ddesd, siehe
 http://www.mathworks.com/access/hel.....chdoc/math/f1-663833.html
 
 Wenn du das selber (mit fester Schrittweite) löst, dann solltest du die Simulationsschrittweite so wählen, dass die Verzögerung ein vielfaches ist, z.B. hier dt = 0.15. Dann entspricht kappa = 0.45 einer Verzögerung um 3 Zeitschritte.
 
 Grüße,
 Harald
 |  |  
|  |  
| 
| sutoppu |  
| Themenstarter 
 
  
 Forum-Anfänger
 
 
 
|  |  
|  | Beiträge: 13 |  |  
|  |  
|  | Anmeldedatum: 26.04.11 |  |  
|  |  
|  | Wohnort: KÖLN |  |  
|  |  
|  | Version: --- |  |  
|  |  |  
|  |  | 
|  Verfasst am: 01.05.2011, 12:56    
Titel: |  |  
| Wow, danke für die schnelle antwort   
 Ich werds direkt mal probieren
   |  |  
|  |  
| 
| sutoppu |  
| Themenstarter 
 
  
 Forum-Anfänger
 
 
 
|  |  
|  | Beiträge: 13 |  |  
|  |  
|  | Anmeldedatum: 26.04.11 |  |  
|  |  
|  | Wohnort: KÖLN |  |  
|  |  
|  | Version: --- |  |  
|  |  |  
|  |  | 
|  Verfasst am: 01.05.2011, 15:42    
Titel: |  |  
| Hallo! 
 Ich habs jetzt erstmal mit fester Schrittweite probiert, es hat soweit auch funktioniert. Problem ist jetzt nur, dass meine Anfangswerte nicht mehr passen
  also geht jetzt die Fehlersuche los... 
 Ich probiers erstmal alleine, sonst meld ich mich nochmal
   
 DANKE!
 |  |  
|  |  
|     
 
 | 
 
 |  
| 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.
 
 
 |  |