2016-07-06 10 views
0

Wie Sie auf der Überschrift sehen können, möchte ich etwas über ODE fragen. Unser Lehrer hat einige Beispiele im Internet hochgeladen, aber sie bestehen nur aus den Lösungen.Matlab - Implict und Explict Euler-Methode auf linearen Differential Eqn

Hier ist eine von ihnen, die etwa zur Lösung der folgenden Gleichungen.

Der Punkt, den ich fragen möchte, wie Sie auf der Lösung sehen können, ist eine D-Matrix definiert. Also besteht die erste Zeile dieser D-Matrix im allgemeinen aus 1 und 0, und der Rest besteht aus den Konstanten, die nach dem Verlassen von dy/dt allein auftraten. Worauf basiert diese D-Matrix? Wie muss ich das definieren?

%m1=100*m2 
% Parametres 
m_2=1;    
m_1=100*m_2;   
l=1;     
c=1; 
g=10; 
% Initial Conditions 
phi_1=1; 
phi_2=-0.5; 
dphi_1=0; 
dphi_2=0; 

% Iteration Parameters 
dt=0.01;    
t_end=10;   

% Time Vector 
t=0:dt:t_end;  
n_max=t_end/dt; 

y(:,1)=[phi_1;phi_2;dphi_1;dphi_2];            
D=[0 0 1 0;0 0 0 1;-g/l-c/(m_1*l) c/(m_1*l) 0 0;c/(m_2*l) -g/l-c/m_2/l 0 0];  

y_exp=y;  
for n = 1:n_max 
    y_exp(:,n+1)=dt*D*y_exp(:,n)+y_exp(:,n);   
end 

y_imp=y; 
for n = 1:n_max 
    y_imp(:,n+1)=inv(eye(4)-D*dt)*y_imp(:,n); 
end 

Antwort

1

Ihr System ist linear mit konstanten Koeffizienten der Ordnung 2 und Dimension 2. Das heißt, daß für die Zwecke der numerischen Integration, ein System der Ordnung 1 und Dimension macht 4 in die Variablen

y = [ phi_1; phi_2; dphi_1; dphi_2 ] 

die Matrix D ist die Jacobi-Matrix von dieser Reihenfolge 1-System, resp. die Matrix, wenn sie als

y' = D * y 

folgenden Gleichungen den expandierten Formulierung

phi_1' = dphi_1 
phi_2' = dphi_2 
dphi_1' = - (m_1*g*l * phi_1 + c*l * (phi_1 - phi_2))/(m_1 * l^2) 
dphi_2' = - (m_2*g*l * phi_2 + c*l * (phi_2 - phi_1))/(m_2 * l^2)