Main Content

線形最小二乗法

範囲制約と線形制約をもつ線形最小二乗法問題の解法

最適化問題を解く前に、問題ベースかソルバーベースか、適切なアプローチを選択しなければなりません。詳細については、はじめに問題ベース アプローチまたはソルバーベース アプローチを選択を参照してください。

線形最小二乗法では、min||C*x - d||2 を解きます。おそらくは、範囲または線形制約があります。

問題ベースのアプローチでは、問題変数を作成し、これらのシンボリック変数の観点から目的関数と制約を表現します。実行する問題ベースの手順については、問題ベースの最適化ワークフローを参照してください。結果として得られる問題を解くには、solve を使用します。

目的関数と制約の定義、適切なソルバーの選択を含め、実行するソルバーベースの手順については、ソルバーベースの最適化問題の設定を参照してください。生成された問題を解くには、lsqlin を使用します。非負の最小二乗法の場合は、lsqnonneg も使用できます。

関数

すべて展開する

evaluate最適化式の評価
infeasibility点における制約違反
optimproblem最適化問題の作成
optimvar最適化変数の作成
solve最適化問題または方程式問題の求解
lsqlin制約付き線形最小二乗問題を解く
lsqnonneg非負の線形最小二乗法問題を解く
optim.coder.infboundコード生成の無限境界サポート (R2022b 以降)
mldivide, \x に対する線形方程式 Ax = B の求解
optimwarmstartウォーム スタート オブジェクトの作成 (R2021a 以降)

ライブ エディター タスク

最適化ライブ エディターでの方程式の最適化または解決 (R2020b 以降)

トピック

問題ベースの線形最小二乗法

ソルバーベースの線形最小二乗法

コード生成

問題ベースのアルゴリズム

アルゴリズムとオプション