2014-03-30 258 views
0

我最近一直在研究優化。我有興趣說明積分從開始到最佳狀態如何。 在ContourPlot教程,有使用結語一個例子:如何在MatheMatica中繪製Arrow箭頭?

{min, {steps}} = 
Reap[NMinimize[{(x - 1)^2 + 100 (y - x^2)^2, 
x^2 + y^2 <= 1}, {{x, -1, -1/2}, {y, -1, -1/2}}, 
StepMonitor :> Sow[{x, y}], Method -> "DifferentialEvolution"]]; 

ContourPlot[(x - 1)^2 + 100 (y - x^2)^2, {x, -1, 1}, {y, -1, 1}, 
Contours -> 
Function[{lo, hi}, Exp[Range[0.01, Log[hi], (Log[hi] - 0.01)/10]]], 
RegionFunction -> Function[{x, y, z}, x^2 + y^2 <= 1], 
Epilog -> {Green, Line[steps], Red, Point[steps]}] 

但我想要的是劇情是這樣的: http://upload.wikimedia.org/wikipedia/commons/7/79/Gradient_descent.png

箭頭的箭頭

非常感謝。

+0

你有箭頭[]功能http://reference.wolfram.com/mathematica/ref/Arrow.html,但如果你想在每個箭頭中顯示箭頭,你必須在幾個箭頭[]調用中拆分該行分割。 – siritinga

回答

0

Arrow[#]&/@Partition[steps,2,1] 

未經測試蒲式耳,應該讓你接近更換Line[steps]