System of Second order order differential Equations referencing the 0th derivative
1 view (last 30 days)
Show older comments
Aleem Andrew
on 17 Mar 2020
Commented: Aleem Andrew
on 17 Mar 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 Comment
Walter Roberson
on 17 Mar 2020
If you have the symbolic toolbox, then I suggest following the steps in the first example in odeFunction
Accepted Answer
Ameer Hamza
on 17 Mar 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
More Answers (0)
See Also
Categories
Find more on Symbolic Math Toolbox in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!