|
|
| AJM |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 30.06.2012, 20:03
Titel: Gleichungen entkoppeln
|
 |
Hi,
ich habe folgendes Problem. Ich habe eine Bewegungsgleichung mit 2 Freiheitsgraden. Dh. ich habe 2 Gleichungen mit 2 Unbekannten (Unbekannte sind als q'' gegeben (also 2. Ableitung))
Nun möchte ich diese integrieren. Sprich ich muss die Gleichungen entkoppeln damit einmal alpha'' = und einmal beta'' = steht und kann dann ode45 anwenden.
Gibt es dann bei Matlab einen schönen Entkoppelungsbefehl, oder muss ich die eine Gleichung nach alpha'' auflösen und in die andere einsetzen usw?
Lg und vielen Dank!
|
|
|
|
|
|
| Harald |

Forum-Meister
|
 |
Beiträge: 24.502
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 30.06.2012, 21:00
Titel:
|
 |
Hallo,
falls das Gleichungssystem in den zweiten Ableitungen linear ist:
Bei den Differentialgleichungslösern muss das Problem in der Form
M(x,y)*y' = f(t,y)
sein. Man muss also nicht nach alpha'' auflösen, sondern kann lineare Gleichungen über M spezifizieren.
Falls das Gleichungssystem nichtlinear in den zweiten Ableitungen ist, bleibt an sich nur FSOLVE.
Grüße,
Harald
|
|
|
|
| AJM |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 30.06.2012, 21:51
Titel:
|
 |
Hi,
erstmal Danke!
noch eine Idee von mir: was wäre wenn ich die Massenmatrix mit der Inversen auf die andere Seite bringen würde, dann stünde doch da nur noch q'' =
Linear ist die Gleichung wohl nicht da beta' ^2 Terme und dergleichen enthalten sind.
|
|
|
|
| Harald |

Forum-Meister
|
 |
Beiträge: 24.502
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 30.06.2012, 22:23
Titel:
|
 |
Hallo,
die Gleichung braucht nur in den höchsten Ableitungen linear zu sein. Alle anderen Ableitungen werden in f untergebracht, und das kann ja nichtlinear sein.
Sicher kannst du die Massenmatrix auch als Inverse auf die andere Seite bringen, oder mit \ arbeiten. Gerade bei größeren Matrizen wäre das allerdings recht ineffizient, aber wenn du nur 2x2 hast ist das wohl egal.
Grüße,
Harald
|
|
|
|
| AJM |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 01.07.2012, 08:55
Titel:
|
 |
Ich denke ich sollte mal konkret werden:
Das hier wäre meine linke Seite der Gleichung. Das Problem sind wohl die cos Terme, richtig? Auf der rechten Seite steht ein f(q', q. t)
lg
|
|
|
|
| AJM |

Forum-Anfänger
|
 |
Beiträge: 34
|
 |
|
 |
Anmeldedatum: 01.07.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 01.07.2012, 09:14
Titel:
|
 |
|
weil dann wäre es mir klar. dann könnte ich 2 hilfsvariablen einführen und die beiden eigentlichen variablen umschreiben und mit ode45 das dgl. 1 Ordnung lösen...
|
|
|
|
| AJM |

Forum-Anfänger
|
 |
Beiträge: 34
|
 |
|
 |
Anmeldedatum: 01.07.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 01.07.2012, 12:25
Titel:
|
 |
Ah schmarn^^ die terme sollte kein problem sein. ich probier mal dass ich jetzt einfach mit 4 variablen substituiere und fertig.
Vielen vielen Dank Harald.
|
|
|
|
| Harald |

Forum-Meister
|
 |
Beiträge: 24.502
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 01.07.2012, 12:31
Titel:
|
 |
Hallo,
soll das rechts die erste oder die zweite Ableitung von alpha bzw. beta sein?
Du wirst das ganze so oder so in ein System von DGLen erster Ordnung umwandeln müssen. Lediglich das Auflösen nach den zweiten Ableitungen kannst du dir sparen.
Grüße,
Harald
|
|
|
|
| AJM |

Forum-Anfänger
|
 |
Beiträge: 34
|
 |
|
 |
Anmeldedatum: 01.07.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 01.07.2012, 12:47
Titel:
|
 |
Hi Harald
meine DGL ist gegeben in der Form:
M q'' = V q' ^2 + Q
q'' ist mein Vektor in dem nur variablen 2. Ordnung vorliegen. Sprich nach q'' möchte ich lösen.
Ich wollte nun mein q'' einfach in DGL's erster Ordnung umwandeln mit dem allbekannten Ansatz x1 = alpha, x2 = beta usw. und dann das lösen.
Das einzige Problem, dass ich noch habe ist wie ich das ganze in Matlab reinschreiben muss, da ich im Internet nur immer Beispiele mit q'' = ... und nicht mit Mq'' = ... finde
lg
|
|
|
|
| Harald |

Forum-Meister
|
 |
Beiträge: 24.502
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 01.07.2012, 17:39
Titel:
|
 |
Hallo,
das M (sollte nach Umformung 4x4 sein) über odeset als Mass Matrix angeben.
Siehe Dokumentation von ODESET.
Zur Not kannst du ja auch das Gleichungssystem mit \ lösen oder, auch wenn es unschön ist, mit der Inversen multiplizieren.
Grüße,
Harald
|
|
|
|
| AJM |

Forum-Anfänger
|
 |
Beiträge: 34
|
 |
|
 |
Anmeldedatum: 01.07.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 01.07.2012, 18:17
Titel:
|
 |
| Harald hat Folgendes geschrieben: |
Hallo,
das M (sollte nach Umformung 4x4 sein) über odeset als Mass Matrix angeben.
Siehe Dokumentation von ODESET.
Zur Not kannst du ja auch das Gleichungssystem mit \ lösen oder, auch wenn es unschön ist, mit der Inversen multiplizieren.
Grüße,
Harald |
Das mit der Inversen werde ich nicht machen, da ich später das System auf elastische Mehrkörper erweitern möchte und dann eine Vielzahl an Freiheitsgraden brauche, wo du mich ja schon netterweise darauf hingewiesen hast, dass dies dann nicht die beste Idee ist.
Ich werde es mal mit ODESET ausprobieren und bei Gelegenheit nochmals fragen.
Vielen Dank dir!
|
|
|
|
| AJM |

Forum-Anfänger
|
 |
Beiträge: 34
|
 |
|
 |
Anmeldedatum: 01.07.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 01.07.2012, 18:36
Titel:
|
 |
So ich habe mir das nochmals durchgelesen und mir auch die Beispiele bei den FEM angeschaut, was mir jedoch noch immer nicht klar ist ist die Schreibweise.
soll ich dann eine Funktion f(q,t) die ich löse einfach als Mdq anstatt dq definieren?
Und desweiteren soll ich dann einfach die Gleichung folgendermaßen hinschreiben?
Mit x1 = alpha, x1' = alpha' =x2
x3 = beta, x3' = beta' =x4
Ich habe zum besseren Verständnis die alpha und beta Terme nochmal hinter x1, x2 etc geschrieben
|
|
|
|
| Harald |

Forum-Meister
|
 |
Beiträge: 24.502
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 01.07.2012, 21:56
Titel:
|
 |
Hallo,
die Einsen stehen meiner Meinung nach an der falschen Stelle; die müssen je eine Stelle nach rechts. Auf der rechten Seite sollten keine Ableitungen von x_i stehen, sondern nur x_i. q ist der Vektor der Ableitungen der x_i.
| Zitat: |
| soll ich dann eine Funktion f(q,t) die ich löse einfach als Mdq anstatt dq definieren? |
Den Satz verstehe ich beim besten Willen nicht. Meine Empfehlung wäre, f zu definieren als ob das M nicht da wäre, und es dann als Mass Matrix anzugeben.
Grüße,
Harald
|
|
|
|
| AJM |

Forum-Anfänger
|
 |
Beiträge: 34
|
 |
|
 |
Anmeldedatum: 01.07.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 01.07.2012, 22:07
Titel:
|
 |
Du hast natürlich recht mit den Einsern!
Danke!
Was ich meinte ist wie ich die Funktion definiere. Also wo du gesagt hast ich definiere das einfach ohne die Massenmatrix.
Morgen wird alles getestet
|
|
|
|
|
|
|
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.
|
|