ode45 and sol structure - different results

12 views (last 30 days)
I am using ode45 function to get solution of system of equation with this line of code
[zv, pv] = ode45(@fun2, [1 0], [1; 0]);
where Matlab stores my results in pv, and in zv is saved longitudinal coordinate, where pv=f(zv). And usually I got 73 points stored in zv.
On the other side I need to find second derivative of pv, and I use these lines of code:
sol=ode45(@fun2,[1 0],[1; 0]);
[~,SXINT] = deval(sol,sol.x);
With this commands I got the second derivative of pv only in points sol.x and in that case sol.x consist only 19 points. What is the difference, how in zv I got 73 points? Isn't it the same structure? Because in both cases I am looking for steps, where it means longitudinal coordinate for me? Or is sol.x that what I am looking for?

Accepted Answer

Star Strider
Star Strider on 4 Nov 2018
If you look separately at ‘sol.x’, it only has 19 points. If you want to get all the results from your deval call, do this:
[~,SXINT] = deval(sol,zv);
Note that any vector will do in place of ‘zv’ here, providing the values are within the limits of your original tspan vector.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!

Translated by