Re: [問題] 如何利用Compile加速Maximize?

看板Mathematica作者 (養花種魚數月亮賞星星)時間13年前 (2011/08/06 07:11), 編輯推噓1(100)
留言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
文章代碼(AID): #1EF7YU5g (Mathematica)
文章代碼(AID): #1EF7YU5g (Mathematica)