System of Second order order differential Equations referencing the 0th derivative
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
Aleem Andrew
el 17 de Mzo. de 2020
Comentada: Aleem Andrew
el 17 de Mzo. de 2020
The following code refers to the system of differential equations in which only the first and second derivatives are included. How can the
zeroth derivative be referred to, for example, what if one of the equations was x'' = x*sqrt(x'^2+y'^2) rather than x'' = sqrt(x'^2+y'^2) - how could x be referred to? Writing
xy(0) for the 0th derivative or the position vector returns an error message but I am not sure how to modify the code. For example,
changing the first line to xy = zeros(6,1) does not help.
function xy=PackageMotion(t,x)
% the differential equation soltuion
xy=zeros(4,1);
% The paramter of the package
m=1; g=9.82; Cd=0.035;
% The differential equation described in state space form
%xy(1)
xy(1)=x(2); %first derivative (velocity)
xy(2)=(-Cd*x(2)*sqrt(x(2)^2+x(4)^2))/m;
xy(3)=x(4);
xy(4)=(-Cd*x(3)*sqrt(x(2)^2+x(4)^2))/m-g;
end
[SL: formatted the text of the question as text rather than code]
1 comentario
Walter Roberson
el 17 de Mzo. de 2020
If you have the symbolic toolbox, then I suggest following the steps in the first example in odeFunction
Respuesta aceptada
Ameer Hamza
el 17 de Mzo. de 2020
For the state space system inside the PackageMotion function, the variables are in this order
x(1) -> x-position
x(2) -> x-veclcity
x(3) -> y-position
x(4) -> y-velocity
So your 2nd equation should be
xy(2)=(-Cd*x(1)*sqrt(x(2)^2+x(4)^2))/m;
See this example for more detail: https://www.mathworks.com/help/matlab/ref/ode45.html#bu3uj8b
Más respuestas (0)
Ver también
Categorías
Más información sobre Symbolic Math Toolbox en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!