|
|
Suche Lösung für Simulation einer Schwingungsgleichung |
|
matnap |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 01.07.2011, 11:10
Titel: Suche Lösung für Simulation einer Schwingungsgleichung
|
|
Hallo zusammen,
ich hab eine Übungsaufgabe :
Ich soll folgende Schwingungsimulieren:
X''(t)+0,4x'(t)+9x(t)=exp(t)*sin(t)
Es soll mit ODE45 gelöst werden.
Leider habe ich keine Ahnung wie ich auf mathematischem Weg zu einer Lösung kommt.
Gelöst soll es in Matlab nicht in Simulink.
Vielen Dank
|
|
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 01.07.2011, 11:25
Titel:
|
|
|
|
matnap |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 01.07.2011, 11:39
Titel:
|
|
Mir fehlt der mathematische Hintergrund wie ich die Aufgabe für Matlab verständlich machen kann.
Das lösen mit ODE45 müsste ich hinbekommen.
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 01.07.2011, 11:52
Titel:
|
|
|
|
matnap |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 01.07.2011, 20:23
Titel:
|
|
Ich hab es irgendwie nicht hinbekommen,
Ich brauche doch nur das DGL System:
z1=x
z2=z1'
z3=z2'
und dann muss dann irgendwie in ODE45
Die Anfangbedingung sind x(t)=0 und x'(t)=0
kann mir das einer lösen, ich kann das dann besser Rückwärts nachvollziehen.
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 01.07.2011, 21:19
Titel:
|
|
Hallo,
nicht zu sehr um die Ecke denken.
z1 = x
z2 = x'
damit
z1' = z2 (weil z1' = x' = z2)
z2' = -0.4 z2 - 9 z1 + exp(t) sin(t) (weil z2' = x'' = [nach x'' aufgelöste DGL]
Der Rest ist in der Doku von ode45 beschrieben.
Grüße,
Harald
|
|
|
matnap |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 02.07.2011, 13:17
Titel:
|
|
Irgendwie bin ich unfähig.
dgl.m
dgl2.m
Als Fehlermeldung kommt immer :
Zitat: |
??? Attempted to access z(2); index out of bounds because numel(z)=1.
Error in ==> dgl2 at 3
zp = [ z(2);
Error in ==> odearguments at 98
f0 = feval(ode,t0,y0,args{:}); % ODE15I sets args{1} to yp0.
Error in ==> ode45 at 172
[neq, tspan, ntspan, next, t0, tfinal, tdir, y0, f0, odeArgs, odeFcn,
...
Error in ==> dgl at 5
[t,x]=ode45('dgl2',tspan,x0); |
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 02.07.2011, 14:00
Titel:
|
|
Hallo,
sieht doch schon gut aus.
Es sind nur t und z vertauscht. So sollte es gehen:
Üblicherweise nimmt man statt 'dgl2' ein Function Handle @dgl2
Grüße,
Harald
|
|
|
|
|
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 - 2024
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.
|
|