B =
1.0e+06 *
0.6064 -0.4550 0.0776 -0.6532 0.4550 0.0126
-0.4550 1.6724 0.0180 0.4550 -0.3209 0.0180
0.0776 0.0180 0.3626 -0.0126 -0.0180 0.0569
-0.6532 0.4550 -0.0126 1.0029 -0.4550 0.5070
0.4550 -0.3209 -0.0180 -0.4550 4.4121 -0.0180
0.0126 0.0180 0.0569 0.5070 -0.0180 0.9314
D1 =
1
a
b
c
d
e
how can i find the unkowns a b c d e if [B]*[D1]==0
please give me all the details because i'm new to MATLAB and i'm still learning it
And thank you in advanced.

2 件のコメント

Walter Roberson
Walter Roberson 2020 年 9 月 28 日
The rank of that matrix is 6 to the precision of what you posted, but you only have 5 unknowns. You will not be able to get an exact solution, only a best fit (under some meaning of "best")
jad bousaid
jad bousaid 2020 年 9 月 29 日
In fact, there is more than one solution,and if we had 6 unkowns, all the answers would be zeros so that's why i put the 1 and there is 5 unkowns and i don't need an exact solution, i just need one if it exicte,with the methode details please.
thank you very much..

サインインしてコメントする。

 採用された回答

Bruno Luong
Bruno Luong 2020 年 9 月 29 日

0 投票

More "robust" method
[~,~,V] = svd(B);
D1 = V(:,end);
D1 = D1/D1(1);

その他の回答 (1 件)

Bruno Luong
Bruno Luong 2020 年 9 月 28 日

0 投票

[~,R,P] = qr(B);
D1 = P*[R(1:end-1,1:end-1)\R(1:end-1,end); -1];
D1 = D1/D1(1)

カテゴリ

ヘルプ センター および File ExchangeMatrix Indexing についてさらに検索

製品

リリース

R2020b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by