他の人が言っているように、このシステムは劣決定です(デニスが言ったように、終わりではありません)。いくつかのフォローアップの質問があったので、私はより深く入りましょう。
Aに1つの行がある場合、7つの未知数に本質的に1つの方程式があります。基本的に、これらの未知数の6つをゼロに設定してから、7番目を解くことができます。これはバックスラッシュが行うことです。結果がノイズからの寄与が最小になるように未知数を選択します。したがって、ここでは、A行列の絶対係数が最大の未知数を選択します。これが、5番目の未知数が結果でゼロ以外であった理由です。
実際、ソリューションは6次元のセットに存在します。Aのヌル行空間からその解にベクトルの線形結合を自由に追加し、線形システムに基づいて別の等しく(数学的に)有効な解を得ることができます。
A = [0.1195952380, 0.2552619050, 0.3235000000,...
0.1289285710, 0.6675476190, -0.0770000000,...
0.1973809520];
null(A)
ans =
-0.3070 -0.3891 -0.1551 -0.8029 0.0926 -0.2374
0.9176 -0.1044 -0.0416 -0.2155 0.0249 -0.0637
-0.1044 0.8676 -0.0528 -0.2731 0.0315 -0.0808
-0.0416 -0.0528 0.9790 -0.1089 0.0126 -0.0322
-0.2155 -0.2731 -0.1089 0.4364 0.0650 -0.1666
0.0249 0.0315 0.0126 0.0650 0.9925 0.0192
-0.0637 -0.0808 -0.0322 -0.1666 0.0192 0.9507
null(A)の列は、null部分空間のこれらの基底ベクトルです。結局のところ、ゼロに設定する要素をいくらか任意に選択するため、バックスラッシュソリューションが好ましくない場合があります。別の解決策は、pinv(A)*b0を使用することです。
pinv(A)
ans =
0.1730
0.3693
0.4680
0.1865
0.9657
-0.1114
0.2855
pinv(A)*b0
ans =
0.2985
0.6370
0.8073
0.3217
1.6659
-0.1922
0.4926
pinv(A)は、Aのムーアペンローズ疑似逆行列です。特異値分解を使用してその結果を生成するため、一般にバックスラッシュよりも遅くなりますが、ここでは違いはわずかです。時々興味深いpinvソリューションの特徴は、そのようなすべての可能なソリューションの中で最小のノルムを持っていることです。
b0 = 1.7250238100;
norm(A\b0)
ans =
2.5841
norm(pinv(A)*b0)
ans =
2.0748
あるソリューションは別のソリューションよりも優れていますか?あまり。時々私たちは違いを気にします、そしてあなたはそれらのうちの1つを他のものより選ぶことを気にかけるかもしれません。ただし、方程式が1つしかない場合は、考えられる解決策のいずれかが他の解決策と同じくらい優れている可能性があることを受け入れる必要があります。
もちろん、私たちが選択する可能性のある悪い解決策があります。たとえば、この次の解決策は、理論的には、ばかげたものであれば、同様に有効な選択です。
x2 = x1 + null(A)*10*randn(6,1)
x2 =
-4.09413481014061
13.5483342562954
13.4850200598594
6.44121071558247
-13.4923071847226
7.3358845464619
15.883243834012
Aの零空間ベクトルのランダムな線形結合を追加することを選択しました。同じ解A*x2が得られるようです。
A*x2
ans =
1.72502381
しかし、b0を引くと、x2の係数が大きいことが問題であることがわかります。これらの係数は、これらの最下位ビットのノイズを誇張しており、微妙に悪い解を生成します。
A*x2 - b0
ans =
6.66133814775094e-16
それを他のソリューションの残差と比較すると、間違いなく悪化していることがわかります。
A*x0 - b0
ans =
0
A*x1 - b0
ans =
2.22044604925031e-16
もちろん、epsは
eps
ans =
2.22044604925031e-16
これは、この問題に対する私たちの希望の限界についてです。
もちろん、未知数よりも多くの方程式(ここではAの列よりも多くの行)があり、Aがフルランクである場合、2つの解は数値のゴミ箱内で同じである必要があります。これはあなたが読んだものですが、それは過剰決定問題にのみ当てはまります。あなたの問題は過剰決定ではなく、劣決定です。