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

Gleichungen entkoppeln

 

AJM

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 30.06.2012, 20:03     Titel: Gleichungen entkoppeln
  Antworten mit Zitat      
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

Forum-Meister


Beiträge: 24.502
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 30.06.2012, 21:00     Titel:
  Antworten mit Zitat      
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
Private Nachricht senden Benutzer-Profile anzeigen
 
AJM

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 30.06.2012, 21:51     Titel:
  Antworten mit Zitat      
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

Forum-Meister


Beiträge: 24.502
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 30.06.2012, 22:23     Titel:
  Antworten mit Zitat      
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
Private Nachricht senden Benutzer-Profile anzeigen
 
AJM

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.07.2012, 08:55     Titel:
  Antworten mit Zitat      
Ich denke ich sollte mal konkret werden:
\matr{M} \ddot{\vec{q}} =  
<br />
\begin{pmatrix}
<br />
\frac{5}{12}m_{1}l_{1}^2 + m_{2}l_{1}^2 & \qquad \frac{1}{2}l_{1}l_{2}m_{2}\cos(\alpha - \beta)	\\ \\
<br />
{sym.	}	& \qquad \frac{5}{12}l_{2}m_{2}
<br />
\end{pmatrix}
<br />
\begin{pmatrix}
<br />
\ddot{\alpha} \\ \\
<br />
\ddot{\beta}
<br />
\end{pmatrix}
<br />

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

Forum-Anfänger


Beiträge: 34
Anmeldedatum: 01.07.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.07.2012, 09:14     Titel:
  Antworten mit Zitat      
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...
Private Nachricht senden Benutzer-Profile anzeigen
 
AJM
Forum-Anfänger

Forum-Anfänger


Beiträge: 34
Anmeldedatum: 01.07.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.07.2012, 12:25     Titel:
  Antworten mit Zitat      
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.
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.502
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 01.07.2012, 12:31     Titel:
  Antworten mit Zitat      
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
Private Nachricht senden Benutzer-Profile anzeigen
 
AJM
Forum-Anfänger

Forum-Anfänger


Beiträge: 34
Anmeldedatum: 01.07.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.07.2012, 12:47     Titel:
  Antworten mit Zitat      
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
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.502
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 01.07.2012, 17:39     Titel:
  Antworten mit Zitat      
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
Private Nachricht senden Benutzer-Profile anzeigen
 
AJM
Forum-Anfänger

Forum-Anfänger


Beiträge: 34
Anmeldedatum: 01.07.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.07.2012, 18:17     Titel:
  Antworten mit Zitat      
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!
Private Nachricht senden Benutzer-Profile anzeigen
 
AJM
Forum-Anfänger

Forum-Anfänger


Beiträge: 34
Anmeldedatum: 01.07.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.07.2012, 18:36     Titel:
  Antworten mit Zitat      
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

\matr{M} \ddot{\vec{q}} =  
<br />
\begin{pmatrix}
<br />
1 &\qquad 0 &\qquad 0 &\qquad 0 \\ \\
<br />
0 & \qquad \frac{5}{12}m_{1}l_{1}^2 + m_{2}l_{1}^2 & 0\qquad & \qquad \frac{1}{2}l_{1}l_{2}m_{2}\cos(x1 - x3)	\\ \\
<br />
0 &\qquad 0 &\qquad 1 &\qquad 0 \\ \\
<br />
0 & \qquad \frac{1}{2}l_{1}l_{2}m_{2}\cos(x1 - x3)	& 0\qquad & \qquad \frac{5}{12}l_{2}m_{2}
<br />
\end{pmatrix}
<br />
\begin{pmatrix}
<br />
\dot{x1} \\ \\
<br />
\dot{x2}\\ \\
<br />
\dot{x3} \\ \\
<br />
\dot{x4}
<br />
\end{pmatrix}
<br />
\begin{pmatrix}
<br />
\dot{\alpha} \\ \\
<br />
\ddot{\alpha}\\ \\
<br />
\dot{\beta} \\ \\
<br />
\ddot{\beta}
<br />
\end{pmatrix}
<br />
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.502
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 01.07.2012, 21:56     Titel:
  Antworten mit Zitat      
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
Private Nachricht senden Benutzer-Profile anzeigen
 
AJM
Forum-Anfänger

Forum-Anfänger


Beiträge: 34
Anmeldedatum: 01.07.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.07.2012, 22:07     Titel:
  Antworten mit Zitat      
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 Smile
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.