[问题] 循环数减少

楼主: j0958322080 (Tidus)   2015-12-14 22:54:26
大家好,最近遇到一个二维的问题想用MATLAB跑,
虽然C++已经OK,但是转到MATLAB好像会因为矩阵过大而运算过久,
目前已经把一些主要循环用colon表示,但速度还是过慢,
https://drive.google.com/file/d/0B-jMD726BbgualpvS3ZMazc3Wjg/view
C++(最上面少一个 J 的循环)
https://drive.google.com/file/d/0B-jMD726BbguMXFtOWNnb19XUTA/view
matlab,
执行中断好像主要是在计算H场那边,希望大家可以给点意见,感谢。
作者: celestialgod (天)   2015-12-14 23:11:00
循环停止条件?里面可以用diff http://pastebin.com/vSUBLpPhez(1:IE,1:JE) = ga(1:IE,1:JE).*dz(1:IE,1:JE);可以直接改成 ez = ga .* dz;剩下看ic, jc是什么...没看到全貌也不知道可不可以直接vectorize计算
楼主: j0958322080 (Tidus)   2015-12-14 23:56:00
主要循环就是上面那个C++档案的另外nsteps是要算到50,只是我跑两个就无法了QQ我觉得我应该是有那里陷入无穷循环.......
作者: celestialgod (天)   2015-12-15 01:34:00
while nsteps <= 50 ?ic jc还是看不懂是啥ic, jc看到了 你的while停止条件没有设定阿= =nsteps = nsteps + 1; ??
楼主: j0958322080 (Tidus)   2015-12-15 08:50:00
对应该就是跑到2就结束,只是这样好像结束不了嗯我应该知道哪里错了已经解决了,感谢各位

Links booklink

Contact Us: admin [ a t ] ucptt.com