2014-02-25 98 views
0

我試圖保存在每個循環中都在變化的向量1x100。 代碼示例:Matlab在循環中保存迭代向量

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 

我試過上面的代碼沒有成功。

請任何想法都是值得歡迎的。

+0

我看到你缺少'end'在代碼的末尾。 – ysakamoto

+0

這是一個示例代碼。我原來的代碼很大!我的問題不是關於保存數據。請,你能幫我解決這個問題嗎? – user1640255

+0

你需要更好地解釋代碼。你想在這些循環中做什麼? 「沒有成功」是什麼意思?我想你一遍又一遍地將數據保存在同一個文件中。它是否打算行爲? – ysakamoto

回答

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