我的代码写为:
for i=1:1
[T,Y]=ode23s(@(T,X)sys(T,X,vin),[t0 .00025],X(:,1))
vin =-12;
[T1,Y1]=ode23s(@(T,X)sys(T,X,vin),[.00025 .0005],Y(end,:))
vin=12
[T2,Y2]=ode23s(@(T,X)sys(T,X,vin),[.0005 .00075],Y1(end,:))
vin=-12
[T3,Y3]=ode23s(@(T,X)sys(T,X,vin),[.00075 .001],Y2(end,:))
end
Tf=[T;T1;T2;T3];
Xf=[Y;Y1;Y2;Y3];
现在我需要使用for
循环执行100个周期,直到Y50和T50我该怎么办?
放入另一个循环中
sct = t0:.00025:.001;
len = length(sct)-1;
vin =-12;
for i = 1:1
% preallocate memory
T = NaN(1,len);
Y = NaN(size(X,1),len);
Y(:,1) = X(:,1);
for j = 1:len
[tmpT,tmpY]=ode23s(@(T,X)sys(T,X,vin),sct(j:j+1),Y)
T(j) = tmpT;
Y(:,j) = tmpY;
end
%TODO: do something with T & Y otherwise it will get overwritten in the next iteration of i
end