Matlab在循环中保存迭代向量

Matlab在循环中保存迭代向量,matlab,vector,while-loop,save,mat,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 i=1;

我试图保存每个循环中都在变化的向量
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
i=1;
而我
对于i=1:N
A(i)=A(i)+B(i)*i;
终止
对于i=1:N
C(i)=D(i)+B(i)*dt;
终止
t=t+dt;

如果要得到更好的答案,你应该提供问题的更多细节

假设
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');

我发现代码末尾缺少
end
。这是一个示例代码。我的原始代码是巨大的!我的问题不是关于保存数据。拜托,你能帮我吗?你需要更好地解释代码。在这些循环中你想做什么?你说的“没有成功”是什么意思?我认为你正在一次又一次地将数据保存在同一个文件中。这是故意的行为吗?是的,你是对的。在程序的最后,我只看到文件中的最后一次迭代数据。因为它是在每个循环上重写的文件。我需要保存所有的循环数据。A和C向量取决于时间。因此,每个循环上都有其他值。最终,我想做的是在每个原始或列中都有一个Amatrix和Cmatrix,以获得每次迭代的结果。在每个循环的定义中使用
I
可能不是最好的主意,我相信这可能会导致一些奇怪的行为。