函數 > 求解與最佳化 > 選擇解題演算法
選擇解題演算法
您可以為下列函數選擇解題演算法:FindMinerrMinimizeMaximizePdesolveOdesolvenumolgenfitpolyroots,也可以為定積分選擇。
若要檢視演算法,請用滑鼠右鍵按一下函數名稱或積分運算子。
若要變更解題演算法,請從清單中選取一個解題演算法。
適用於定積分的演算法選取項 
您可以使用下列數值積分方法
「Romberg 演算法」:適用於多數積分。對偶數個子區間使用梯形近似,然後藉由加總梯形面積來比較序貫估計值。
「調整型」:適用於在積分區間快速變更的函數。也稱為適應積分法。
「無窮極限」:適用於一或兩個極限為無窮的積分。進行積分的函數必須為實數。
「單一端點」:適用於積分的一或兩個極限為奇點或無限數的積分。也稱為開放式 Romberg 演算法。
其他資訊:
演算法選取項僅適用於定積分
如果至少一個積分極限為無限數或大於 10^307 的絕對值,「自動選取」會使用「無窮極限」當作解題演算法。反之則會使用「調整型」
適用於 Find、Minerr、Minimize 及 Maximize 的演算法選取項 
若為 FindMinerrMinimizeMaximize,則「自動選取」使用的預設演算法為「非線性:Levenberg-Marquardt 演算法」
「線性」:適用於具有線性結構的問題,亦即具有所有條件約束的目標函數。此演算法可提供快速而準確的結果。
「非線性:Levenberg-Marquardt 演算法」:嘗試尋找條件約束中誤差的零點。如未找到任何零點,此方法會最小化條件約束中的誤差平方和。
「非線性:共軛梯度法」:因式分解投影矩陣,並套用共軛梯度法來大略最小化障礙問題的二次方模型。
「非線性:SQP 演算法」:此有效集合法可求解一系列二次規劃法子問題,從而求出解答。
「非線性:內點法 (Interior Point)」:此方法可以一系列以障礙參數控制的障礙子問題取代非線性程式編寫問題。
「非線性:有效集合法 (Active Set)」:有效集合法可根據原始問題的二次方模型求解一系列子問題。
疑難排解:
嘗試不同的方法。針對您正在嘗試求解的問題,特定方法的效果可能會比其他方法更好或更差。
嘗試不同的估值或新增不等式限制。如果您在求複雜的解,請提供複雜的估值。
使用 Minerr 而非 Find,以獲得近似解。
嘗試 TOLCTOL 的不同值。
若為有多個解的系統,傳回的解取決於估值。您可以新增不等式,以強制求解器尋找不同的解。
適用於 Pdesolve 和 numol 的演算法選取項 
若為 Pdesolvenumol,則預設解題演算法為「遞歸五點差分」。所有演算法均使用 Radau 方法求解。
「多項式」:使用一階和二階空間導數的多項式近似,透過 time 變數將 PDE 系統還原為 ODE 系統。
「中心差分」:使用一階空間導數的中心差分近似,搭配二階空間導數的遞歸應用,透過 time 變數將 PDE 系統還原為 ODE 系統。
「五點差分」:使用一階空間導數的五點差分近似,搭配二階空間導數的單獨近似,透過 time 變數將 PDE 系統還原為 ODE 系統。
「遞歸五點差分」:使用一階空間導數的五點差分近似,搭配二階空間導數的遞歸應用,透過 time 變數將 PDE 系統還原為 ODE 系統。
適用於 Odesolve 的演算法選取項 
Adams/BDF (預設):若為非剛性系統,Odesolve 會呼叫使用 Adams-Bashforth 方法的 Adams 求解器。如果 Odesolve 偵測到 ODE 系統為剛性,就會切換為 BDF (反向微分方程式) 求解器。
「固定」:呼叫使用固定步長 Runge-Kutta 方法的 rkfixed 求解器。
「調整型」:呼叫使用調整型步長 Runge-Kutta 方法的 Rkadapt 求解器。
「Radau 演算法」:適用於剛性或具有代數條件約束的系統,Odesolve 會呼叫 Radau 求解器。
適用於 genfit 的演算法選取項 
「最佳化 Levenberg-Marquardt 演算法」(預設):這個最佳化版本的「Levenberg-Marquardt 演算法」最小化方法通常速度更快,對不準確的估值較不敏感,並對提供的代數導數的誤差更加敏感。
「Levenberg-Marquardt 演算法」:此最小化方法用於求解非線性最小平方問題。此方法應搭配 genfit 使用,才能妥善發揮作用,並提供準確的估值。
適用於 polyroots 的演算法選取項 
「拉格爾」(預設):此方法會反覆迭代並搜尋複數平面的解。
「相伴矩陣」:此方法會將方程轉換為本徵值問題。
這是否有幫助?