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

Differentialgleichung 2. Ordnung diskret lösen

 

mgmaverick1988
Forum-Newbie

Forum-Newbie


Beiträge: 1
Anmeldedatum: 06.01.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.01.2011, 19:49     Titel: Differentialgleichung 2. Ordnung diskret lösen
  Antworten mit Zitat      
Hallo alle zusammen,

hab ein kleines Problem bei der diskreten Lösung einer Differentialgleichung 2. Ordnung. Grundsätzliches Ziel ist es, die Differentialgleichung in eine Differenzengleichung zu überführen, und diese mit einer Matlab Funktion auszuwerten.

Bei der genannten Differentialgleichung handelt es sich um ein Feder - Masse - Dämpfersystem mit erzwungener Schwingung. Die Differentialgleichung sieht wie folgt aus:

x''(t) + (d/m)*x'(t) + (k/m)*x(t) = (F/m)*cos(wt)

Weiterhin sind noch folgende Anfangsbedingungen gegeben:
x(t=0) = 0
x'(t=0) = 0

Es soll nun die Differenzengleichung in rekursiver Form aufgestellt werden, wobei die Ausgangsgröße x(kT) in abhängig von der

Eingangsgröße F(kT)

und den vergangenen Werten

x((k-1)*T)
x((k-2)*T)

ist.

Als Hinweis steht in der Aufgabenstellung, die Ableitungen x'(t) und x''(t) in Differenzenform zu approximieren.

Weiterhin hab ich in meinen Regelungstechnik Skript noch Folgenden Hinweis gefunden:

Eine Differentialgleichung 2.Ordnung a2*x''(t)+a1*x'(t) = a0y(t) lässt sich in Folgende Differenzengleichung umschreiben.


Koeffizienten:
b1 = (2*a2+a1*T)/a2
b2 = (a2+a1*T)/a2

c1 = T²*a0/a2


==> x(k-2) - b1*x(k-1) + b2*x(k) = c*y(k)

Ok nun zu meinen Vorgehen: Zunächst hab ich versucht die DGL in eine Differenzengleichung nach o.g. Form zu bringen. Unter Berücksichtigung der Ausgangsgröße x(kT) und der Eingangsgröße F(kT) sowie den Vorausgegangen Ausgangsgrößen x((k-1)*T) und x((k-2)*T) erhielt ich also Folgende Differenzengleichung:


Koeffizienten:
b1 = (2*m + d*T)/m
b2 = (m + d*T)/m

c =( T²*k/F)/m

x((k-2)*T) - b1*x((k-1)*T) + b2*x(k*T) = c*F(kT)

Um die Abhängigkeit von x(kT) auszudrücken wird der Ausdruck umgeformt zu:

x(k*T) = [ c*F(kT) + b1*x((k-1)*T) - x((k-2)*T) ] / b2

Ich denk mal so weit müsste alles Richtig sein. Mein Problem besteht jetzt darin die Werte für vorausgegangenen Ausgangsgrößen zu bestimmen.

x((k-1)*T) und x((k-2)*T)

Bekommt man die Werte vielleicht heraus in dem man die Ableitungen x'(t) und x''(t) in Differenzenform approximiert ?

Meine Idee währe die Folgende:

x'(t) = dx/dt = [ X_i - X_(i-1) ] / T
x''(t) = d²x/dt² = [ X_i - 2*X_(i-1) + X_(i-2)] / T²

i: Index der den aktuellen Wert angibt.
T: Zeitintervall zwischen den Abtastungen

Ich hab echt keine Ahnung, wie ich die Werte für die vorausgegangenen Werte x((k-1)*T) und x((k-2)*T) bestimme. Muss ich vielleicht die o.g. Anfangsbedingungen da mit hineinbringen? Hoffentlich kann mir einer bei meinen Problem weiterhelfen.

Vielen Dank im Voraus
Private Nachricht senden Benutzer-Profile anzeigen


DGL

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.05.2014, 18:40     Titel: Das gleiche Problem
  Antworten mit Zitat      
Hallo,

ich habe gerade das gleiche Problem.
Hast du bereits eine Lösung?
 
nik250525052505

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.01.2022, 20:21     Titel: Nochmal das gleiche
  Antworten mit Zitat      
Hallo, mir gehts genauso, schon ne Lösung am Start?
LG
 
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 - 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.