|
|
Viertelfahrzeugmodell mit Matlab Code entzaubern |
|
Vigge |

Forum-Newbie
|
 |
Beiträge: 9
|
 |
|
 |
Anmeldedatum: 06.05.15
|
 |
|
 |
Wohnort: Straubing,
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 06.05.2015, 18:27
Titel: Viertelfahrzeugmodell mit Matlab Code entzaubern
|
 |
|
 |
|
Hallo, habe mich jetzt hier schon einige Tage rumgetrieben. Mein Problem ist, daß ich für meine Diplomarbeit ein Viertelfahrzeugmodell auswerten muß. Ich hatte mich entschlossen dies mit Matlab zu tun, da ich der Überzeugung bin, daß mir Matlab noch öfters über den beruflichen Weg laufen wird, bzw. ich von dem Gesamtpaket überzeugt bin, auch wenn ich kaum eine Ahnung (noch) davon habe. Naja, ich halte zwar ein, zwei Einführungsskripte in meinem Besitz, allerdings sind die Beispiele und Aufgaben nicht viel wert im Vergleich zu meiner Aufgabe, die folgendermaßen lautet: Viertelfahrzeugmodell mit Fremdanregung der Form f=k1*z0*cos(omega*t)+d1*z0*omega*sin(omega*t);
Soweit so gut. Ich habe hier ein ähnliches Beispiel gefunden, mein Code funktioniert sogar im Nachbau, allerdings kann ich mit den Ergebnissen nichts anfangen und bin auch von der Richtigkeit meines DGL-Systems nicht überzeugt. Mir fehlt da einfach der Überblick. Ich habe als Datei mal die Gleichungen angefügt
Mein Ziel ist es einen Kurvenverlauf zu generieren, der mir die zwei Singularitäten zeigt, d.h. die Eigenfrequenzen gedämpft zeigt.
Ich hätte auch gerne einen Plot der hom+part Lösung, die das Schwingverhalten zeigt. Hrmpf, leider habe ich von Matlab kaum eine Ahnung.
Ich hatte noch ein weiteres Beispiel nachgeschrieben und mal probiert mit Rayleigh- Dämpfung, womit man den Zustandsraum geschickt umschifft, allerdings erhalte ich ein völlig anderes Plotbild, wenn ich dort die Steifigkeiten zu meinen umändere. Ich verstehe das nicht. Jedenfalls sollte der Plot so in etwa aussehen, wie mit diesem Code.
Danke und sry für diese endlosen Zeilen. Ich habe leider nicht wirklich etwas gefunden bisher,was mir hilft.
Hier noch das DGL SYS in der ursprünglichen Form:
(m1 0; 0 m2)*(z1'';z2'')+(d1+d2 -d2; -d2 d2)*(z1';z2')+(k1+k2 -k2; -k2 k2)*(z1;z2)=(f;0)
f war f=k1*z0*cos(omega*t)+d1*z0*omega*sin(omega*t)
_________________
"Onkel Bob? Soso."
|
|
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.499
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 06.05.2015, 20:04
Titel:
|
 |
Hallo,
auf den ersten Blick würde ich sagen:
Die for-Schleife for om=0.2:0.02:10; ergibt keinen Sinn, da dz in jeder Iteration überschrieben wird. dz hat also am Ende den Wert für om = 10, ohne dass die vorher berechneten Werte berücksichtigt werden.
Wenn das System ursprünglich in Matrix-Vektor-Form gegeben ist, würde ich das so lassen. Ist ja für MATLAB kein Problem :) Allerdings müsste man dazu z(2) und z(3) vertauschen.
Außerdem fällt mir noch auf, dass im Test-Code komplett andere Parameter verwendet werden...
Grüße,
Harald
|
|
|
Vigge |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 9
|
 |
|
 |
Anmeldedatum: 06.05.15
|
 |
|
 |
Wohnort: Straubing,
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 06.05.2015, 21:02
Titel:
|
 |
Mit Testcode meinst du das zweite Prog, nichtwahr?
Ich hatte das nur dazugestellt um zu zeigen, was für einen Plot ich mir von meinem Prog . wünschte. Die dort verwendeten Parameter haben nichts mit meiner Aufgabe zu tun. Das Schlimme ist sogar, verwende ich meine in dieser "Vorlage", erhalte ich einen ganz anderen Graphen als mit den gegebenen Werten. Kann es daran liegen, daß Matlab mir nur einen Ausschnitt vom gesamten Graph plottet?
Zu meinem Prog.:
Ist es überhaupt richtig eine Schleife für das DGL Sys zu verwenden?
Kann ich überhaupt die Matrix Vektorschreibweise verwenden ohne es in einen Zustandsraum zu transformieren oder was meintest du.
Vielen Dank für deine nette und zügige Antwort, btw.
_________________
"Onkel Bob? Soso."
|
|
|
Vigge |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 9
|
 |
|
 |
Anmeldedatum: 06.05.15
|
 |
|
 |
Wohnort: Straubing,
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 06.05.2015, 21:14
Titel:
|
 |
Letztere Frage ist natürlich sinnlos, da schon beantwortet.
_________________
"Onkel Bob? Soso."
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.499
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 06.05.2015, 21:38
Titel:
|
 |
Hallo,
also:
der erste Code plottet z(t) für ein festes omega.
Der zweite Code plottet au(omega), was auch immer die Bedeutung von au hier sein mag.
Das kann also sicher nicht dasselbe sein.
Wenn du den ersten Code für verschiedene omega laufen lassen willst, dann müsstest du eine for-Schleife um den ode45-Code herum machen und so omega variieren. Dann müsstest du aus z(t) das au extrahieren.
Grüße,
Harald
|
|
|
Vigge |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 9
|
 |
|
 |
Anmeldedatum: 06.05.15
|
 |
|
 |
Wohnort: Straubing,
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 06.05.2015, 22:20
Titel:
|
 |
Komme ich der Sache so näher? Matlab meckert nur noch wegen fehlender Parameter, die ich dann allerdings beim Aufruf im Workspace einfügen würde und irgendwas passt ihm nicht an meinem Vektor f.
Macht das jetzt so Sinn?
Vergiss bitte den zweiten Code, der hatte nicht wirklich was mit dem ersten zu tun, der stammt auch nicht von mir, wie gesagt, nur der Plot vom 2 Code ist eben das, was ich versuche mit meinem Prog zu erreichen.
_________________
"Onkel Bob? Soso."
|
|
|
Winkow |

Moderator
|
 |
Beiträge: 3.842
|
 |
|
 |
Anmeldedatum: 04.11.11
|
 |
|
 |
Wohnort: Dresden
|
 |
|
 |
Version: R2014a 2015a
|
 |
|
|
 |
|
Verfasst am: 06.05.2015, 22:26
Titel:
|
 |
das macht keinen sinn da f keine funktion von omega ist oder so. da kommt theoretisch immer das gleiche raus. außerdem gillt da immernoch
harald hat Folgendes geschrieben: |
Die for-Schleife for om=0.2:0.02:10; ergibt keinen Sinn, da dz in jeder Iteration überschrieben wird. |
das sollte denke ich zu einem dimensionsproblem führen. guck dir mal den unterscheid zwischen times und mtimes an und vielleicht den bereich annonyme funktionen in der docu.
_________________
richtig Fragen
|
|
|
Vigge |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 9
|
 |
|
 |
Anmeldedatum: 06.05.15
|
 |
|
 |
Wohnort: Straubing,
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 06.05.2015, 22:34
Titel:
|
 |
Vielen Dank!
Super Forum, hätte nicht erwartet, daß man sich meiner so annimmt!
Einen Guten Abend die Herren!
_________________
"Onkel Bob? Soso."
|
|
|
Winkow |

Moderator
|
 |
Beiträge: 3.842
|
 |
|
 |
Anmeldedatum: 04.11.11
|
 |
|
 |
Wohnort: Dresden
|
 |
|
 |
Version: R2014a 2015a
|
 |
|
|
 |
|
Verfasst am: 06.05.2015, 22:56
Titel:
|
 |
kleiner tipp noch für anfänger.
arbeite das grundlagen kapitel der doc durch. das getting startet also.. das erklärt die meisten grundlegenden dinge. grade was das adressieren angeht und so. 50% der fehler hier kann man damit lösen
weiterhin sollte der beitrag aus meiner signatur gelesen werden falls das noch nicht passiert ist das mag auf den ersten blick nach viel aussehen beschleunigt aber meist den erhalt einer sinnvollen antwort
schönen abend noch.
grüße winkow
_________________
richtig Fragen
|
|
|
|
|
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.
|
|