Ich versuche, die Gleichung y "+ 4y = 0 mit Anfangsbedingungen y (0) = 1 und y '(0) = 0 in Matlab zu modellieren. Das Code-Schnipsel unten zeigt eine Arbeits Annäherung der Position als eine Funktion der Zeit für die oben ODE:Lösen von ODEs zweiter Ordnung in Matlab
clear
syms y(t)
%Differential Equation Conversion
P = odeToVectorField(diff(y, 2) == -4*y);
M = matlabFunction(P,'vars',{'t','Y'});
%Position Approximation
pos_solution = ode45(M,[0 20],[1 0]);
x = linspace(0,20,1000);
y = deval(pos_solution,x,1);
%Plot of Position as a function of time
figure(3)
plot(x,y,'b');
ich versuche, diese Daten erzeugt zu nehmen und die Geschwindigkeit des Systems als Funktion der Zeit, hat aber keine Ahnung, wie man Weitere Informationen hierzu erhalten Sie unter
„die Wellenform Näherung für die Geschwindigkeit des Systems“ ... Ich weiß nicht, was das ist noch was 'y' repräsentiert. – TroyHaskin
'y = deval (pos_solution, x, 1);' gibt das Integral von y ', d. H. Y (oder Position, wenn' y 'das darstellt) zurück. Wenn Sie y '(Geschwindigkeit, wenn y Position bedeutet, das Integral von y' '), dann verwenden Sie 'y = deval (pos_solution, x, 2);' wie in der Dokumentation. Oder verwenden Sie einfach y = deval (pos_solution, x); um beide zusammen zurückzugeben. – horchler
Vielen Dank @horchler! Ich habe nicht wirklich verstanden, worum es in der Dokumentation mit 'deval (XINT, SOL, IDX) 'ging. Das macht es für mich klar! Sehr geschätzt. –