Need help for ODE45 matlab

• MATLAB
I'm stuck with a problem with the subfunction ODE45 of Matlab:

I need to save two matrixes' values created inside the ODE subfunction.
I can't create an index inside the subfunction because I have to define it at the start so at every round it returns to zero.

This is what I've done in the main:

t0 = 0;
tf = 450;
y0 = [0 0 0 0 0 0];
options = odeset('RelTol', 1e-6);
[t, y] = ode45('ac_im3_IPM_prova1', [t0,tf] , y0, options);

and this is the subfunction:

function yp = ac_im3_IPM_prova1(t, y);
.
.
.
vsd = 2/3 * (vsa * cos(ttg) + vsb * cos(ttg - 2*pi/3) + vsc * cos(ttg - 4*pi/3));
vsq = -2/3 * (vsa * sin(ttg) + vsb * sin(ttg - 2*pi/3) + vsc * sin(ttg - 4*pi/3));
.
.
.
yp(1) = (vsd - Rs*isd + (wge)*fsq);
yp(2) = (vsq - Rs*isq - (wge)*fsd);
yp(3) = ( - Rr*ird + (wge-p*wm)*frq);
yp(4) = ( - Rr*irq - (wge-p*wm)*frd);
yp(5) = (tm - (TL + KD*wm)) / J;
yp(6) = wge;

yp = yp';

I'd like to save vsd and vsq values of every round in a matrix or in someway!

Related MATLAB, Maple, Mathematica, LaTeX News on Phys.org
J77
You could always write you own one-line (fixed step-size) RK4 code.

Ok, now I created an index inside the subfunction in this way:

i=0;
if t ~= 0
end
i=i+1;
save('i');

Now there is another problem:

I'm wondering if this procedure could affects the simulation time returning me wrong values

Hey i need help in ODE45 too

i have the following code

>>for i=1:5
>>tspan=[0 30]
>>h0=Hv(i)
>>[t,h]=ode45['a ODEfunction',tspan,h0]
>>plot(t,h)
>>end

in this loop how can i save 5 values of [t,h],
as t, h produces each loop run like follows
t=
1
2
3
4
.
.
.
h=
5
6
7
8..

also i need to plot all of them n i could view the 5 graphs them..pls help..