Differentialgleichungssystem < Matlab < Mathe-Software < Mathe < Vorhilfe
|
Status: |
(Frage) reagiert/warte auf Reaktion | Datum: | 09:33 Di 18.09.2007 | Autor: | Cira |
Aufgabe | Darstellung eines Schwingungssystems in Matlab |
Ich habe diese Frage in noch keinem Forum auf anderen Internetseiten gestellt.
Hallo;
Ich beschäftige mich schon seit geraumer Zeit mit einem Schwingungsmodell, welches ich in Matlab erstellt habe. Dieses Modell hat 6 Freicheitsgrade und es liegt eine Störfunktion an. Aber derzeit stehe ich ein wenig auf dem Schlauch und komme nicht weiter.
Das Differentialgleichungssystem in Matritzenschreibweise hat die Form:
M*q´´ + D*q´ + C*q =F(t)
Dieses System besteht aus 6 Differenzialgleichungen 2.Ordnung. Ich habe dieses System in ein System mit 12 DGL 1.Ordnung überführt und in die Zustandform gebracht.
Das Lösen des DGL-systems erfolgte mit ode 45.
Für konstante Koeffizieneten ermittelt mir Matlab nun auch plausible Ergebnisse.
Mein Problem ist nun folgendes:
ich kann die Steifigkeitsmatrix nicht als konstant annehmen. Sie ist eine Funktion des Weges(Vektor q), da die Federkennlinie progressiv ist.
Kann mir jemand mögliche Lösungsansätze geben.
Meine Ansätze waren:
1. Berechnung des linearen DGL-systems und Anpassung der
Federsteifigkeit durch Rückführung des berechneten Weges aus dem
vorangegangenen Schritt.( Rückführungsgröße-Regelsystem)
--> Frage: Wie kann ich solch eine Rückführung in Matlab realisieren?
Muss irgendwie eine Laufvariable einfügen
2. Da die Steifigkeitsmatrix eine Funktion des Weges ist, lässt sich das System folgendermaßen formulieren:
[mm] M*q´´+D*q´+C*q^2
[/mm]
--> Frage: Kann man diesen Ansatz so wählen? Lässt sich dieses System
überhaupt lösen? Wenn ja wie mache ich das in Matlab
Vielen Dank im voraus.
|
|
|
|
Hi,
ich kann dir leider nicht genau sagen, wie es funktioniert, aber in dem Buch: Matlab in der Ingeniuerspraxis war ein Beispiel das genau deinem entspricht. http://www.amazon.de/Simulink-Ingenieurpraxis-Modellbildung-Berechnung-Simulation/dp/3835101005
hoffe ich konnte helfen.
ich beschäftige mich mit einer ähnlichen Aufgabe, habe aber Probleme die Steifigkeitsmatrix korrekt zu ermitteln. Wie hast du das gemacht? Mit einem FEM-Programm, oder "per Hand"?
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 11:16 Di 18.09.2007 | Autor: | Cira |
Vielen Dank erstmal für die schnelle Hilfe!
Mal schauen ob ich das Buch auftreiben kann. In unserer Bibliothek sieht es nähmlich schlecht aus.
So nun zu deinem Problem.
In meinem Fall habe ich die Federsteifigkeiten der einzelnen Elemente(Gummilager und Federspeicher) aus Herstellerangaben und/oder Versuche ermittelt. Diese müssen nacher noch im Vergleich des Modells mit dem Praxistest verglichen werden. Nach Erhalt der Steifigkeitswerte, lässt sich dann ohne Probleme über die einzelen Differentialgleichungen die Matrix aufstellen. Im derzeitige Modell habe ich eben nur eine konstante Steifigkeitsmatrix.
Ach so, weißt du vielleich ob dieses Model, welches in deinem Buch beschrieben wurde ein Simulink- oder ein reines Matlabmodell ist. Mit Simulink habe ich nähmlich noch weniger Erfahrung
MFG Cira
|
|
|
|
|
das war ein reines matlabprogramm. ich kann dir aus eigener erfahrung aber nur empfehlen die lösung der differentialgleichungen und auch die anregung und so weiter in simulink zu modellieren.
das ganze wird übersichtlicher (auch für leute, die das problem nicht kennen, z.B. bei deiner präsentation) und auch deutlich einfacher.
du kannst auch mal in dem Buch : matlab und tools für simulation dynamischer systeme und matlab, simulink, staeflow kucken.
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 11:50 Di 18.09.2007 | Autor: | Cira |
Besteht denn die Möglichkeit meine aufgestellte Matritzengleichung direkt in Simulink einzubringen-wenn ja, dann wie oder muss ich ein gänzlich neues Simulink modell aufbauen?
MFG Cira
|
|
|
|
|
du kannst deine matrizen ganz einfach in simulink verwenden. einfach einen konstanten-block oder gain-block aus der bibliothek nehmen, und den namen deiner matrize eintragen.
du musst nur darauf achten zuerst dein m-file ienmal laufen zu lassen, damit dien matrize im workspace gespeichert wird.
|
|
|
|