MATLAB: Ode45 and sol structure – different results

differential equationsMATLABodeode45solve

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?

Best Answer

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.