Solve Overdetermined Linear System
114 ビュー (過去 30 日間)
古いコメントを表示
Hi,
I have read that an overdetermined system is one with more rows (equations) that columns(unknowns).
I believe that an overdetermined system is typically one that is not solvable, unless one of the equations in the linear system is a linear combination of the other.
However, looking at the code below, it doesn't seem that any of the equations is a linear combination of the others. However, matlab still solves the system once
the script is executed. Any explanation is appreciated.
clear all
% Specify a system where the number of unknowns is less than the number of
% equations
comment='starts here'
disp(comment)
A=[ 2 2 -2; 6 4 4; 10 8 6; 11 15 9];
v=[10 2 8 20]';
C=A\v
採用された回答
Bruno Luong
2019 年 10 月 6 日
編集済み: Bruno Luong
2019 年 10 月 6 日
For overdetermined system the "\" returns least-square solution, meaning it doesn't solve exactly your system, but returnes the solution that minimizes
norm( A*C - v, 2).
To persuade this is the case, you can multiply A*C and verifies it does not match v
>> A*C
ans =
9.9655
1.8368
8.1255
19.9812
>> norm(A*C-v, 2)
ans =
0.2096
This is the best "MATLAB" can do. You can try any other C, and you won't ever get any better than 0.2096.
0 件のコメント
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Systems Of Linear Equations についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!