Re: [問題]兩條方程式怎樣才能一起做迭代運算?
※ 引述《np62077 (ray)》之銘言:
: 版上的各位大大你們好,
: 我最近跑模擬需要做到迭代運算~
: 爬文跟google搜尋看到的都是處理單一函式的迭代運算,
: 可是我要計算的是兩條式子卡在一起的函式,
: 然後就把我難倒了...OTZ
: 目前使用的是土法煉鋼的方式,就是打了好幾行的式子,結果就把記憶體吃光光了~囧
: 只好來這裡向各位大大請教
: 附上我使用的程式碼
: ------------------------------------------------------------------------------
: R&T皆為初始矩陣
: T'=T+(R-1)*pi;
: R'=R+0.3.*abs(T);
: 以上是最主要的兩個式子,
: 然後再回到第一個式子,變成
: T''=T'+(R'-1)*pi;
: R''=R'+0.3.*abs(T');
: 這樣一直下去~~
: 有沒有更方便且不會把記憶體吃光光的方式呢?
一條式子的迭代比較單純
基本上就是找出x_k+1 = f(x_k)
一直迭下去就對了
多條式子的話就會根據你要不要即時更新新值有所差異
T_k+1 = T_k + (R_k - 1)*pi; 此時已經有新的T了
R_k+1 = R_k + 0.3*abs(T_k)
^
第二個式子的T用T_k就是不更新 用T_k+1就是要更新
所以我推文的寫法就是要更新的
for i=1:N
T=T+(R-1)*pi; %T已更新
R=R+0.3*abs(T);
end
如果不想更新要另外存舊值
for i=1:N
Told=T;
Rold=R;
T=Told+(Rold-1)*pi;
R=Rold+0.3*abs(Told);
end
當然迭代出來的結果會有差異
以你的寫法你應該是要不更新的版本
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.121.146.175
推
02/19 14:31, , 1F
02/19 14:31, 1F
→
02/19 14:31, , 2F
02/19 14:31, 2F
推
02/22 12:29, , 3F
02/22 12:29, 3F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
MATLAB 近期熱門文章
PTT數位生活區 即時熱門文章