線形最小二乗法
範囲制約と線形制約をもつ線形最小二乗法問題の解法
最適化問題を解く前に、問題ベースかソルバーベースか、適切なアプローチを選択しなければなりません。詳細については、はじめに問題ベース アプローチまたはソルバーベース アプローチを選択を参照してください。
線形最小二乗法では、min||C*x - d||2 を解きます。おそらくは、範囲または線形制約があります。
問題ベースのアプローチでは、問題変数を作成し、これらのシンボリック変数の観点から目的関数と制約を表現します。実行する問題ベースの手順については、問題ベースの最適化ワークフローを参照してください。結果として得られる問題を解くには、solve
を使用します。
目的関数と制約の定義、適切なソルバーの選択を含め、実行するソルバーベースの手順については、ソルバーベースの最適化問題の設定を参照してください。生成された問題を解くには、lsqlin
を使用します。非負の最小二乗法の場合は、lsqnonneg
も使用できます。
関数
ライブ エディター タスク
最適化 | ライブ エディターでの方程式の最適化または解決 (R2020b 以降) |
トピック
問題ベースの線形最小二乗法
- 平面までの最短距離
問題ベースのアプローチを使用して線形最小二乗問題を解く方法を示す。 - 非負の線形最小二乗法、問題ベース
問題ベースのアプローチと複数のソルバーを使用して非負の線形最小二乗問題を解く方法を示す。 - 大規模な制約付き線形最小二乗法、問題ベース
問題ベースのアプローチを使用して光学的ブレ除去問題を解く。 - 問題ベースの最小二乗法の目的関数の記述
問題ベースの最小二乗法の構文ルール。
ソルバーベースの線形最小二乗法
- lsqlin ソルバーを使用した最適化ライブ エディター タスク
最適化ライブ エディター タスクと線形最小二乗を示す例。 - 非負の線形最小二乗法、ソルバーベース
この例では、いくつかのアルゴリズムを使用して、解が非負となる範囲制約のある、線形最小二乗問題を解く方法を説明します。 - 線形最小二乗付きヤコビ乗算関数
構造化された大規模な線形最小二乗問題でメモリを節約する方法を示す例。 - ウォーム スタートのベスト プラクティス
求解の繰り返しを高速化するために、最適なウォーム スタートの使用方法を説明します。 - 大規模な制約付き線形最小二乗法、ソルバーベース
ソルバーベースのアプローチを使用して光学的ブレ除去問題を解く。
コード生成
- 線形最小二乗のコード生成: 背景
線形最小二乗用の C コードを生成するための前提条件。 - lsqlin のコード生成
線形最小二乗用のコード生成の例。 - リアルタイム アプリケーションの最適化コード生成
生成コードにおいてリアルタイム要件に対処する手法を紹介します。
問題ベースのアルゴリズム
- 問題ベースの最小二乗法の目的関数の記述
問題ベースの最小二乗法の構文ルール。 - 問題ベースの最適化アルゴリズム
最適化関数とオブジェクトで最適化問題を解く方法を学習します。 - 最適化変数および式でサポートされる演算
最適化変数と式でサポートされている数学的演算とインデックス演算を確認します。
アルゴリズムとオプション
- 最小二乗 (モデル当てはめ) アルゴリズム
範囲制約または線形制約のみをもつ n 次元の二乗和を最小化します。 - 最適化オプション リファレンス
最適化のオプションを紹介します。