Matlab在循环中保存迭代向量

时间:2014-02-25 02:33:57

标签: matlab vector while-loop save mat

我正在尝试保存在每个循环中都在变化的向量1x100。 代码示例:

i=1;
while i
   for i=1:N
      A(i)   = A(i) + B(i)*i;
   end
   for i=1:N
      C(i)=D(i) + B(i)*dt;
   end
   t=t+dt;
   if t<=tmax;
      save 'savedata.mat', C, A`
      i=i+1
   else
      break
   end
end

我尝试了上述代码但没有成功。

请,任何想法都非常受欢迎。

1 个答案:

答案 0 :(得分:0)

要获得更好的答案,您应该提供有关问题的更多详细信息。

假设tmax, dt, N, A, B, D给出,t从0开始:

% preallocate finalA and finalC:
num_steps = length(0:dt:tmax);
finalA = zeros(num_steps,N);
finalC = zeros(num_steps,N);
% loop:
for j = 1:num_steps
   for i=1:N
      finalA(j,i) = A(i) + B(i)*i;
      finalC(j,i) = D(i) + B(i)*dt;
   end
end
save('savedata.mat', 'finalA', 'finalC');