Re: [問題] 如何利用Compile加速Maximize?
看板Mathematica作者chungyuandye (養花種魚數月亮賞星星)時間13年前 (2011/08/06 07:11)推噓1(1推 0噓 0→)留言1則, 1人參與討論串2/2 (看更多)
※ 引述《narwhalgary (獨角鯨葛瑞)》之銘言:
: For[i=1,i<201,i++,
: cn[i]= Maximize[f(i,r),r][[2,1,2]]; ← 希望能加速的程式碼 不知如何Compile
: ......
: ]
: 煩請大大們解答 萬分感激
Maximize這些Mathematica的內建函數基本上都已經Compile過了~
你要的可能是快速的將這200的最佳化問題計算完,不過既然都要計算,
把[[2,1,2]]的部份先保留起來
以下用平行運算
f[i_, r_] := a*i*r^2 - 2 b r + c
cn[i_Integer] := Minimize[f[i, r], r]
DistributeDefinitions[cn, f, Range[200]];
myans=ParallelMap[cn, Range[200]]
myans[[All, 2, 1, 2]]
另外,Mathematica最佳化的指令可以看查一下這個help
ConstrainedOptimizationIntroduction
如果問題沒有要求解析解,NMaximize 或 NMinimize倒是不錯的選擇!
--
養花種魚數月亮賞星星
http://chungyuandye.twbbs.org
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.173.130.134
推
08/06 08:51, , 1F
08/06 08:51, 1F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
Mathematica 近期熱門文章
PTT數位生活區 即時熱門文章