System of Second order order differential Equations referencing the 0th derivative

1 次查看(过去 30 天)
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]

采纳的回答

Ameer Hamza
Ameer Hamza 2020-3-17
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;

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Symbolic Math Toolbox 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by