Mathematics | ![]() ![]() |
過少システム
過少線形システムは、方程式の数より未知数の数が多いシステムです。これは、付加的な制約を付けると、線形計画法になります。それ自身、バックスラッシュ演算子は、制約のないシステムのみを取り扱います。解はユニークではありません。MATLABは、少なくとも m個のゼロでない成分をもつ基本解を探します。しかし、この解でさえ、ユニークにはならない可能性があります。実際に計算される特別な解は、列ピポットを使ったQR因子分解(後半のQR因子分解を参照)で決定されます。
R = fix(10*rand(2,4)) R = 6 8 7 3 3 5 4 1 b = fix(10*rand(2,1)) b = 1 2
線形方程式Rx = bが、4つの未知数をもつ2つの方程式を含むものとします。係数行列は小さな整数を含んでいるので、rationalフォーマットで表現するのが適切です。特定の解が、つぎのステートメントで得られます。
format rat p = R\b p = 0 5/7 0 -11/7
R(:,2)
が最大ノルムをもつRの列なので、非セロ成分の一つは、p(2)
です。R(:,2)
が取り除かれた後、R(:,4)
が卓越しているので、他の非ゼロ要素はp(4)
になります。
過多システムの完全な解は、ヌル空間の任意のベクトルを付加することにより特徴付けられます。それは、有理基底を必要とするオプションをもった関数null
を使って求められます。
Z = null(R,'r') Z = -1/2 -7/6 -1/2 1/2 1 0 0 1
x = p + Z*q
![]() | 過多システム | 逆行列と行列式 | ![]() |