作者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