すべてのアルゴリズム |
算法 |
“信任区域狗腿” (既定の设定),“信赖域” 、“文伯格 - 马夸特” から選択します。
算法 オプションは使用するアルゴリズムの优先顺位を指定します。これは基本设定のみです。信頼领域法アルゴリズムでは,非线形方程式系は劣决定では解けません。すなわち,方程式の数(有趣的 によって返されるF の要素数)は少なくともx の長さと同じでなければなりません。同様に,Trust-region-dogleg法アルゴリズムの場合は,方程式の数はx の長さと同じでなければなりません。選択したアルゴリズムを使用できない場合は,fsolve はレーベンバーグ・マルカートアルゴリズムを使用します。アルゴリズムの選択についての詳細は,アルゴリズムの選択を参照してください。
いくつかのアルゴリズムオプションを設定するために,optimoptions の代わりにoptimset を使用します。
算法 ——アルゴリズムを“信赖域” の代わりに“trust-region-reflective” に設定します。
InitDamping- - - - - -算法 を{levenberg-marquardt, .005} などの细胞配列に設定し,レーベンバーグ・マルカート法の初期パラメーターλを設定します。
|
CheckGradients |
ユーザー设定の导关数(目的关数または制约の勾配)と有限差分による导关数とを比较します。选択肢は真正的 または错误的 (既定の设定)です。 optimset の場合,名前はDerivativeCheck で,値は“上” または“关闭” です。詳細は,新旧のオプション名を参照してください。
|
诊断 |
最小化または計算する関数に関する情報を表示します。選択肢は“上” または“关闭” (既定の设定)です。 |
DiffMaxChange |
有限差分勾配を計算する場合に変数内で生じる最大変化量です(正のスカラー)。既定値は正 です。 |
DiffMinChange |
有限差分勾配を计算する场合に変数内で生じる最小変化量です(正のスカラー)。既定値は0 です。 |
显示 |
表示レベル(反复表示を参照):
“关闭” または“没有” ——出力を表示しない。
“通路” ——各反復の出力を表示し,既定の終了メッセージを与える。
“iter-detailed” - 各反复の出力を表示し,技术的な终了メッセージを与える。
“最后一次” (既定の設定)——最終出力を表示し,既定の終了メッセージを返す。
最后详细的 ——最終出力のみを表示し,技術的な終了メッセージを与える。
|
FiniteDifferenceStepSize |
有限差分のスカラーまたはベクトルのステップサイズファクター。FiniteDifferenceStepSize をベクトルv に設定すると,前方有限差分δ は
δ= v *标志的(x) *马克斯(abs (x)、TypicalX);
ここで,标志' (0)= 1 を除き符号“(x) =符号(x) です。中心有限差分法では
δ= v *马克斯(abs (x)、TypicalX);
スカラーFiniteDifferenceStepSize はベクトルに拡張します。既定値は、前進有限差分法では开方(EPS) ,中心有限差分法ではeps ^ (1/3) です。optimset の場合,名前はFinDiffRelStep です。詳細は,新旧のオプション名を参照してください。
|
FiniteDifferenceType |
勾配推定に使用される有限差分は'向前' (既定の设定)または“中央” (中心)のいずれかです。“中央” では2倍の関数評価が必要になりますが,正確性が増します。 アルゴリズムは有限差分の両方のタイプを推定するとき,範囲に注意深く従います。そのためたとえば,向前ではなく,向后を選択すると,範囲外の点を計算しないようにすることができます。 optimset の場合,名前はFinDiffType です。詳細は,新旧のオプション名を参照してください。
|
FunctionTolerance |
関数値に関する終了許容誤差(正のスカラー)。既定の設定は1 e-6 です。詳細は,许容误差と停止条件を参照してください。 optimset の場合,名前はTolFun です。詳細は,新旧のオプション名を参照してください。
|
FunValCheck |
目的関数値が有効かどうかをチェックします。“上” は,目的关数が复杂的 、正 ,または南 である値を返すと,エラーを表示します。既定の“关闭” ではエラーを表示しません。 |
MaxFunctionEvaluations |
可能な関数評価の最大回数(正の整数)。既定の設定は100 * numberOfVariables です。詳細は,许容误差と停止条件と反復と関数計算回数を参照してください。 optimset の場合,名前はMaxFunEvals です。詳細は,新旧のオプション名を参照してください。
|
MaxIterations |
可能な反復の最大数(正の整数)。既定値400 です。詳細は,许容误差と停止条件と反復と関数計算回数を参照してください。 optimset の場合,名前は麦克斯特 です。詳細は,新旧のオプション名を参照してください。
|
OptimalityTolerance |
1次の最適性に関する終了許容誤差(正のスカラー)。既定の設定は1 e-6 です。詳細は,1次の最適性の尺度を参照してください。 内部的に,“文伯格 - 马夸特” アルゴリズムは,FunctionTolerance の1的军医 倍となる最適性の許容誤差(停止条件)を使用し,OptimalityTolerance は使用しません。 |
OutputFcn |
各反復で最適化関数が呼び出すユーザー定義の関数を1つ以上指定します。関数ハンドルか,関数ハンドルの细胞配列を渡します。既定の設定はなし([] )です。詳細は,出力関数とプロット関数の構文を参照してください。 |
PlotFcn |
アルゴリズムが実行中のさまざまな进行状况の测定値をプロットします。事前定义されたプロットから选択するか,独自のコードを记述してください。组み込みプロット关数名,关数ハンドル,または组み込みプロット关数名か关数ハンドルの细胞配列を渡します。カスタムプロット关数の场合は,关数ハンドルを渡します。既定の设定はなし([] )です。
“optimplotx” は現在の点をプロットします。
“optimplotfunccount” は关数计算をプロットします。
“optimplotfval” は関数値をプロットします。
“optimplotstepsize” はステップサイズをプロットします。
“optimplotfirstorderopt” は1次の最適性尺度をプロットします。
カスタムのプロット关数は,出力关数と同じ构文を使用します详细。は,优化工具箱™の出力関数と出力関数とプロット関数の構文を参照してください。 optimset の場合,名前はPlotFcns です。詳細は,新旧のオプション名を参照してください。
|
SpecifyObjectiveGradient |
真正的 の場合,fsolve は目的関数に対してユーザー定義のヤコビアン(既定の設定では有趣的 ),または(JacobianMultiplyFcn を使用するときの)ヤコビ情報を使用します。错误的 (既定の设定)の场合,fsolve は有限差分を使用してヤコビアンを近似します。
optimset の場合,名前は雅可比 で,値は“上” または“关闭” です。詳細は,新旧のオプション名を参照してください。
|
StepTolerance. |
x に关する许容误差(正のスカラー)。既定の设定は1 e-6 です。詳細は,许容误差と停止条件を参照してください。
optimset の場合,名前はTolX です。詳細は,新旧のオプション名を参照してください。
|
TypicalX |
典型的なx の値です。TypicalX の要素数は,開始点x0 の要素数と等しくなります。既定値は(Numberofvarialbles,1) です。fsolve ではTypicalX を使用して勾配推定の有限差分をスケーリングします。 信任区域狗腿 アルゴリズムはTypicalX をスケーリング行列の対角項として使用します。
|
UseParallel |
真正的 の場合,fsolve は並列で勾配を推定します。既定の错误的 に設定すると,無効になります。詳細は,並列計算を参照してください。
|
信頼领域法アルゴリズム |
JacobianMultiplyFcn |
ヤコビ乘算关数。关数ハンドルとして指定されます。大规模构造化问题に対して,この关数は実际にJ を計算しないで,ヤコビ行列乗算Ĵ* Y 、J'* Y 、J”* (J * Y) のいずれかを计算します。この关数は次の形式を取ります。
ここで,金佛山 はĴ* Y (またはJ'* Y かJ”* (J * Y) )の計算に使用される行列を含んでいます。1番目の引数金佛山 は目的関数有趣的 が返す2番目の引数と同じにしなければなりません。
Y は問題の次元と同じ行数をもつ行列です。国旗 はどの乗数が計算されるかを決めます。
いずれの場合でもJ は陽的に計算されません。fsolve は金佛山 を使用して前提条件子を计算します。jmfun が必要とする追加のパラメーターを与える方法については追加パラメーターの受け渡しを参照してください。
メモ:
“SpecifyObjectiveGradient” は,fsolve が金佛山 を有趣的 からjmfun に渡すために真正的 に设定しなければなりません。
同様の例は密に構造化されたヘッシアンと線形等式を使用した最小化を参照してください。 optimset の場合,名前はJacobMult です。詳細は,新旧のオプション名を参照してください。
|
JacobPattern |
有限差分に対するヤコビスパースパターン。有趣的(我) がx (j) によって異なる場合,JacobPattern(I,J)= 1 を設定します。それ以外の場合は,JacobPattern(I,J)= 0 を設定します。言い換えると,∂有趣的(我) /∂x (j) ≠0をもつことができる場合,JacobPattern(I,J)= 1 となります。 有趣的 でヤコビ行列J を计算するのが不便な场合は,JacobPattern を使用します。ただし,有趣的(我) がx (j) によって異なる場合は見ただけで判断できます。JacobPattern を提供できる场合,fsolve は,スパース有限差分を使ってJ を近似することができます。
最悪の场合,构造が不明であれば,JacobPattern を設定しないでください。既定では,JacobPattern は1からなる密行列のように動作します。その後fsolve は,非スパース状态の有限差分近似を反复ごとに计算します。大规模な问题では,この计算には多大なリソースが必要となる场合があり,通常はスパース构造を决定するのが妥当です。 |
MaxPCGIter |
PCG(前処理付き共役勾配)法の反復の最大回数です(正のスカラー)。既定値は马克斯(1楼(numberOfVariables / 2)) です。詳細は,方程式を解くためのアルゴリズムを参照してください。 |
PrecondBandWidth |
PCGに対する前提条件子の帯域幅の上限(非负の整数)。既定のPrecondBandWidth が正 の場合,共役勾配(CG)ではなく,直接因子分解(コレスキー因子)が使用されます。直接因子分解ではCGより計算量が増加しますが,解を求めるためのステップの質が向上します。対角型をした前提条件のために,PrecondBandWidth を0 に设定します(上部帯域幅0)。一部の问题では帯域幅を中间にすることでPCG法の反复回数を减らします。 |
SubproblemAlgorithm |
反復ステップの計算方法を定義します。既定の設定である“分解” のステップは'cg' より低速ですが,精度の点で胜ります详细。は,信頼领域法アルゴリズムを参照してください。 |
TolPCG |
PCG反復に関する終了許容誤差(正のスカラー)。既定値は0.1 です。 |
レーベンバーグ·マルカート法アルゴリズム |
InitDamping |
レーベンバーグ・マルカートパラメーターの初期値(正のスカラー)。既定値は1)依照 です。詳細は,レーベンバーグ·マルカート法を参照してください。 |
ScaleProblem |
的雅可比矩阵 は,適切にスケール化されていない問題に対して収束性を高める場合があります。既定値は“没有” です。
|