Differentialgleichung mit nicht konstantem Koeffizienten
tew2017
Forum-Anfänger
Beiträge: 17
Anmeldedatum: 26.06.17
Wohnort: ---
Version: ---
Verfasst am : 03.07.2017, 17:41
Titel : Differentialgleichung mit nicht konstantem Koeffizienten
Hallo
Wie kann ich eine Differentialgleichung 2. Ordnung mit nicht konstantem Koeffizienten lösen?
Ist das möglich mit ode45?
[/math] \ddot{x}=F_rad(x)/m-F_d/m[/math]
Dabei wird nach der Zeit abgeleitet und die Variable F_rad ist abhängig von dem Ort.
Vielen Dank im Voraus!
Beste Grüße
Harald
Forum-Meister
Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
Verfasst am : 03.07.2017, 17:53
Titel :
Hallo,
ja. Umschreiben in ein System von 2 DGLen 1. Ordnung.
Grüße,
Harald
tew2017
Themenstarter
Forum-Anfänger
Beiträge: 17
Anmeldedatum: 26.06.17
Wohnort: ---
Version: ---
Verfasst am : 03.07.2017, 18:16
Titel :
Hallo Harald,
Danke für deine Antwort.
Wie kann ich nun die Abhängigkeit der Variable f_radx von dem Ort in das Programm hinzufügen?
Vielen Dank im Voraus!
Grüße
johepet
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am : 03.07.2017, 18:49
Titel :
Soweit ich mich erinnern kann, existiert für DGLn mit nicht konstanten Koeffizienten sogar eine analytische Lösung bis einschliesslich zum Grad 2.
Viele Grüsse,
johepet
Harald
Forum-Meister
Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
Verfasst am : 03.07.2017, 18:53
Titel :
Hallo,
du kannst die Formel für frad_x in eine Funktion schreiben und diese statt der Konstanten aufrufen.
Grüße,
Harald
tew2017
Themenstarter
Forum-Anfänger
Beiträge: 17
Anmeldedatum: 26.06.17
Wohnort: ---
Version: ---
Verfasst am : 03.07.2017, 19:15
Titel :
Hallo,
das Problem ist das ich keine Funktion für f_radx habe sondern nur werte zu den entrechenden Positionen.
Grüße
Harald
Forum-Meister
Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
Verfasst am : 03.07.2017, 20:13
Titel :
Hallo,
dann interpoliere zwischen den Datenpunkten (
interp1
).
Grüße,
Harald
tew2017
Themenstarter
Forum-Anfänger
Beiträge: 17
Anmeldedatum: 26.06.17
Wohnort: ---
Version: ---
Verfasst am : 05.07.2017, 08:37
Titel :
Hallo,
das habe ich probiert, weiß aber nicht wie ich die variable f_radx ortsabhängig mache. Hier ist mein code:
Code:
t_start = 0 ;
t_end = 3 ;
time_span =t_start:0.0005 :t_end;
k = 100 ; % spring stiffness. N/m
c = 20 ; % damping coeff. N-s/m
m = 5 ; % mass, kg
initial_position = 0 ;
initial_speed = 0 ;
x0 = [ initial_position initial_speed] ;
f=[ 1 2 3 4 5 6 7 1 2 3 4 5 6 7 1 2 3 4 5 6 7 1 2 3 4 5 6 7 1 ] ;
fx=0 :1 /28 :1 ;
x=0 ;
[ t,x] =ode45 ( @rhs,time_span,x0,[ ] ,f,fx,x( 1 ) ) ;
plot ( t,x( :,1 ) ) ;
function du=rhs( t,x,f,fx,xi)
k = 100 ; % spring stiffness. N/m
c = 20 ; % damping coeff. N-s/m
m = 5 ; % mass, kg
force =interp1 ( fx,f,xi)
du = zeros ( 2 ,1 ) ;
du( 1 ) = x( 2 ) ;
du( 2 ) = -c/m*x( 2 ) - k/m*x( 1 ) + force/m;
end
Danke im Voraus!
Grüße
Harald
Forum-Meister
Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
Verfasst am : 05.07.2017, 09:37
Titel :
Hallo,
du musst statt xi das Eingabeargument x, bzw. die Wegkomponente x(1) verwenden.
Soll der Übergang von 7 auf 1 eine Rampe sein oder ein Sprung? In letzterem Fall würde ich empfehlen, die DGL intervallweise in einer for-Schleife zu lösen oder die Unstetigkeit über Events anzugeben.
Grüße,
Harald
tew2017
Themenstarter
Forum-Anfänger
Beiträge: 17
Anmeldedatum: 26.06.17
Wohnort: ---
Version: ---
Verfasst am : 06.07.2017, 16:57
Titel :
Hallo,
Schon über eine Rampe. Habs jetzt hinbekommen...
Vielen Dank.
Grüße
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.