Modellierung des linearen Schwingers mit dem ODE-Solver von Scilab
- ODE steht für Ordinary Differential Equation - Gewöhnliche Differentialgleichung
- Mit der Funktion ODE in Scilab ist es möglich System von Gewöhnlichen Differentialgleichungen zu integrieren.
- Die Differentialgleichung für den linearen Schwinger haben wir gerade so umgeformt, dass sie mit dem ode-solver lösbar ist.
- Sie besteht nun aus mehreren Gleichungen der Form:
- dy/dt = f(y,t)
- Die linke Seite dieses linearen Differentialgleichungssystems ist die erste zeitliche Ableitung des Vektors mit den Zustandsgrößen des Modells.
- Bei unserem Seerosenteich wäre die Zustandsgröße die Seerosenteichfläche und die zeitliche Ableitung dA/dt
- Bei dem Schwinger sind es die Geschwindigkeit v und der Weg y jeweils nach der Zeit abgeleitet.
- Der ODE-Solver macht das gleiche, mit LDGLS, was wir mit Hilfe der Euler-Integration für die einfache DGL des Seerosenteiches gemacht haben:
- Er integriert das LDGLS numerisch und liefert hier den Zeitverlauf für Weg und Geschwindigkeit.
|
Der Quellcode in Scilab
- Die rechte Seite wird in einer Funktion definiert.
- Sie heißt hier "rechteSeite" und wird dem Solver übergeben.
- Die Funktion und die Anfangsbedingungen y0 bestimmen gemeinsam vollständig das LDGLS.
- Daneben wird noch mit t0 und t dem Solver mitgeteilt, in welchen Zeitschritten er den Zeitverlauf bestimmen soll.
- Gestartet wird das Skript mit
exec schwingerode.sce im Scilab-Fenster.
|
m = 1.0;
C = 1.0;
function f = rechteSeite(t,y)
A = [[0,-C/m];[1,0]];
f = A*y;
endfunction
t = linspace(0,30,3000);
y0 = [0,1]';
t0 = 0;
y = ode(y0,t0,t,rechteSeite);
plot(t,y(1,:)',t,y(2,:)');
Code 0-1: Modell mit Scilab integriert, Skript-Programm im File schwingerode.sce
m = 1.0;
C = 1.0;
function f = rechteSeite(t,y)
x = y(1,1);
v = y(2,1);
f(1,1) = v;
f(2,1) = -(C/m)*x;
endfunction
t = linspace(0,30,3000);
y0 = [1,0]';
t0 = 0;
y = ode(y0,t0,t,rechteSeite);
plot(t,y(1,:)',t,y(2,:)');
Code 0-1: Modell mit Scilab integriert, Variante ohne Matrixschreibweise vom 19.11.2013 - ACHTUNG: Reihenfolge der Gleichungen gegenüber oben vertauscht!
Modell und Integration mit Scilab: schwingerode.zip
Bild 0-3: Plot: x und v.