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
可能不是最好的主意,我相信这可能会导致一些奇怪的行为。