作者np62077 (ray)
看板MATLAB
標題[問題]兩條方程式怎樣才能一起做迭代運算?
時間Tue Feb 18 17:02:19 2014
版上的各位大大你們好,
我最近跑模擬需要做到迭代運算~
爬文跟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');
這樣一直下去~~
有沒有更方便且不會把記憶體吃光光的方式呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.117.163.68
1F:推 punkdog:貼一下你的程式碼看看? 02/18 18:59
2F:→ labbat:大一程設應該都有教費伯那數列的遞迴寫法吧 同原理 02/18 19:37
3F:→ np62077:我的程式碼其實就是主要的那兩個式子寫很多次 02/19 00:25
4F:→ np62077:只是從R→R'→R''或是T→T'→T''依此類推 02/19 00:26
5F:→ np62077:L大大可以說明一下嗎Q_Q我大學沒有修過相關的程設課程... 02/19 00:28
6F:→ ejialan:如果中間過程不重要的話 T=T+(R-1)*pi;R=R+0.3*abs(T); 02/19 11:43
7F:→ ejialan:外面包一層for看你要跑幾次 02/19 11:44
8F:→ np62077:E大~我用for包過~可是出來的結果不一樣,所以我就卡住了.. 02/19 13:14
9F:→ np62077:舉例來說~如果我要迭代三次的話~用暴力的方式就需要打六行 02/19 13:15
10F:→ np62077:T'=T+(R-1)*pi;R'=R+0.3*abs(T) 02/19 13:16
11F:→ np62077:T''=T'+(R'-1)*pi;R''=R'+0.3.*abs(T') 02/19 13:17
12F:→ np62077:T'''=T''+(R''-1)*pi;R'''=R''+0.3.*abs(T''); 02/19 13:17
13F:→ np62077:用for的話~就用你說的那兩行然後用k=1:1:3下去跑 02/19 13:19
14F:→ np62077:可是兩種方式做出來的分布圖是不一樣的Q_Q 02/19 13:20
15F:→ ejialan:我回文好了 02/19 13:20
16F:→ YoursEver:要搞迭代的話,必須要先確認你的equation會收斂. 02/19 14:18
17F:→ YoursEver:你的T', R'是根據什麼式子所得到的? 是否convex? 02/19 14:19
18F:→ YoursEver:這些問題得先釐清,你才能使用迭代求解. 02/19 14:19
19F:→ np62077:TO Y大~我的T&R代表的是每個點的角度和半徑~要做迭代只是 02/19 14:36
20F:→ np62077:想知道同樣的配置重複幾次會比較恰當,所以並沒有考慮T&R 02/19 14:37
21F:→ np62077:的收斂與發散的問題~但還是謝謝你給我的建議~^^ 02/19 14:39