このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。
lsqnonlin
非線形最小二乗 (非線形データ適合) 問題を解く
構文
説明
非線形最小二乗ソルバー
次の形式の非線形最小二乗曲線近似の問題を解きます。
x の成分には、オプションの下限 lb と上限 ub があります。
x、lb および ub はベクトルまたは行列とすることができます。行列引数を参照してください。
値 (二乗和) を計算するというよりもむしろ、lsqnonlin
は次の "ベクトル" 値関数を計算するユーザー定義関数を必要とします。
は、点 x
= lsqnonlin(fun
,x0
)x0
を開始点として、fun
に記述する関数の二乗和の最小値を求めます。関数 fun
は、値の二乗和ではなく値のベクトル (または配列) を返します。(アルゴリズムは fun(x)
の要素の二乗和を暗黙的に計算します。)
メモ
追加パラメーターの受け渡し は必要に応じて他のパラメーターを関数 fun(x)
へ渡す方法を説明します。
例
入力引数
出力引数
制限
信頼領域 Reflective 法アルゴリズムは劣決定システムを扱いません。方程式の数、つまり F の行数が少なくとも変数の数と同じである必要があります。劣決定の場合、
lsqnonlin
はレーベンバーグ・マルカート法アルゴリズムを使用します。lsqnonlin
は複素数値問題を直接解くことができます。範囲制約は複素数値に対して意味を持たないことに注意してください。範囲制約を使用した複素数問題では、変数を実数部と虚数部に分けます。詳細は、複素数値データへのモデルの当てはめを参照してください。信頼領域 Reflective 法の前処理付き共役勾配法で使用される前提条件子の計算では、その計算の前に JTJ (J はヤコビ行列) を作成します。そのため多くの非ゼロ要素をもつ J の行は、密行列の積 JTJ に近い結果になり、大規模な問題についてはかなりのコストを要する解法プロセスになる場合があります。
x の構成要素に上限 (または下限) がない場合、
lsqnonlin
では非常に大きい任意の正の値 (下限に対しては負の値) を設定する代わりに、inf
(下限に対しては-inf
) をub
(またはlb
) の対応する構成要素に設定する方がより適切です。
lsqnonlin
、lsqcurvefit
、fsolve
の信頼領域 Reflective 法アルゴリズムは、fun
でヤコビアンを計算せずに、あるいはヤコビ スパース パターンを提示せずに、小規模から中規模の問題で使用できます。(これは、ヘッシアンの計算やヘッセ スパース パターンの入力なしで、fmincon
または fminunc
を使用する場合にも適用されます。) 小、中規模問題とは、どのくらい小さいのでしょうか。絶対的な答えはありません。ご利用のコンピューター システムの構成における仮想メモリ量によって異なるからです。
m
個の方程式と n
個の未知数の問題を考えてみましょう。コマンド J = sparse(ones(m,n))
が Out of memory
エラーを引き起こす場合は、間違いなく大きな問題が発生しています。エラーが発生しない場合でも、問題の規模が大きすぎる場合があります。判定するには、問題を実行して MATLAB がシステムで使用可能な仮想メモリ内で実行されるかどうかを確認します。
アルゴリズム
レーベンバーグ・マルカート法および信頼領域 Reflective 法は、fsolve
にも使用される非線形最小二乗アルゴリズムに基づいています。
既定の信頼領域 Reflective 法アルゴリズムは部分空間の信頼領域法であり、[1] および [2] で説明する interior-reflective ニュートン法に基づいています。各反復は、前処理付き共役勾配 (PCG) 法を使用する大型線形システムの近似解を伴います。詳細は、信頼領域 Reflective 法の最小二乗を参照してください。
レーベンバーグ・マルカート法は [4]、[5]、[6] の参考文献で説明されています。詳細は、レーベンバーグ・マルカート法を参照してください。
代替機能
アプリ
[最適化] ライブ エディター タスクが lsqnonlin
にビジュアル インターフェイスを提供します。
参照
[1] Coleman, T.F. and Y. Li. “An Interior, Trust Region Approach for Nonlinear Minimization Subject to Bounds.” SIAM Journal on Optimization, Vol. 6, 1996, pp. 418–445.
[2] Coleman, T.F. and Y. Li. “On the Convergence of Reflective Newton Methods for Large-Scale Nonlinear Minimization Subject to Bounds.” Mathematical Programming, Vol. 67, Number 2, 1994, pp. 189–224.
[3] Dennis, J. E. Jr. “Nonlinear Least-Squares.” State of the Art in Numerical Analysis, ed. D. Jacobs, Academic Press, pp. 269–312.
[4] Levenberg, K. “A Method for the Solution of Certain Problems in Least-Squares.” Quarterly Applied Mathematics 2, 1944, pp. 164–168.
[5] Marquardt, D. “An Algorithm for Least-squares Estimation of Nonlinear Parameters.” SIAM Journal Applied Mathematics, Vol. 11, 1963, pp. 431–441.
[6] Moré, J. J. “The Levenberg-Marquardt Algorithm: Implementation and Theory.” Numerical Analysis, ed. G. A. Watson, Lecture Notes in Mathematics 630, Springer Verlag, 1977, pp. 105–116.
[7] Moré, J. J., B. S. Garbow, and K. E. Hillstrom. User Guide for MINPACK 1. Argonne National Laboratory, Rept. ANL–80–74, 1980.
[8] Powell, M. J. D. “A Fortran Subroutine for Solving Systems of Nonlinear Algebraic Equations.” Numerical Methods for Nonlinear Algebraic Equations, P. Rabinowitz, ed., Ch.7, 1970.
拡張機能
バージョン履歴
R2006a より前に導入