作者chungyuandye (養花種魚數月亮賞星星)
看板Mathematica
標題Re: [問題] 如何加速FindRoot運算速度?
時間Thu Jan 31 11:21:02 2013
※ 引述《suinegoast (想不到暱稱)》之銘言:
: 小弟在研究遇到了一些技術性的瓶頸
: 指令FindRoot求解1200條方程式耗時25秒
: 使用Do迴圈執行60000次上述事情
: 估計費時17天8小時40分鐘
: 請問版上高手是否知道更省時的辦法呢?感激不盡!
Exp[x - a] == y, y^2 == x+b
data = Flatten[Table[{a, b}, {a, 1, 2, 0.1}, {b, 0, 1, 0.1}], 1];
(* 平行運算 *)
ParallelMap[
FindRoot[{Exp[x - #[[1]]] == y,
y^2 == x + #[[2]]}, {{x, 1}, {y, 1}}] &, data]
如果有Lightweight Grid,記得安裝打開,整個實驗室的電腦一起算。
--
養花種魚數月亮賞星星
http://chungyuandye.twbbs.org
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 106.1.154.80
推 Frobenius:複製以上程式碼時,請從第二行"data = " 開始到 "data]" 02/04 02:33
推 Frobenius:Edit → Preferences → Parallel → Lightweight Grid 02/04 02:37