Values of V and abm
Ben Abbott
bpabbott at mac.com
Mon Jun 9 06:37:39 CDT 2008
On Jun 9, 2008, at 6:40 AM, asha g wrote:
> I am having some problems in a program I have written. It is pretty
> long. But the section is :
>
> N = 10;
> niter = 10000;
> for iter = 1: niter
>
> [P,S] = timedepcabactoct(Q,V,h2,Iion,deltaT);
> for jj = 2:N-1
> V(jj) = S(jj);
> end
> if deltaT*niter < 5
> I = 0;
> elseif 5 == deltaT*niter <= 55
> I = 48.4*10^-12;
> V(1) = V(2)+(Ri/Ao)*I*hd;
> V(N) = 4/3*V(N-1)-(1/3)*V(N-2);
> end
> disp(V)
> calling function ratcon2oct
> [alphan,betan,alpham,betam,alphah,betah] = ratcon2oct(V);
> abm = alpham +betam;
> m = m+(deltaT.*(alpham -m.*abm));
> abh = alphah + betah;
> h = h +(deltaT.*(alphah-h.*abh));
> abn = alphan + betan;
> n = n + (deltaT.*(alphan-n.*abn));
> end
Jaroslav already implied your problem with the plot. You've calculated
the values at each iteration but have not stored them.
>
> abmm(iter,:)= abm;
> abnn(iter,:)= abn;
> abhh(iter,:)= abh;
> abm1= abmm(iter,1);
Each of the above will have values of "0" for the indicies(1:(iter-1),:)
Try moving each of the above assignment above the end[for] statement.
>
> t = (1:niter)*deltaT;
> plot(t,abm1)
>
> warning: implicit conversion from real matrix to real scalar
>
> I need to get an oscillating plot of abm1, abn1 and abh1 vs t. But I
> don't. Instead I get the warning given above which I don't follow.
> Also, if I try to check V at the point indicated I get the vector V
> repeated (N-2) times before the values change. I would have expected
> it to change at every iter count. Please tell me if I am writing the
> loop incorrectly.
>
> Thanks
> Asha
More information about the Help-octave
mailing list