finding the unknowns in a matrix

1 view (last 30 days)
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 Comments
Walter Roberson
Walter Roberson on 28 Sep 2020
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 on 29 Sep 2020
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..

Sign in to comment.

Accepted Answer

Bruno Luong
Bruno Luong on 29 Sep 2020
More "robust" method
[~,~,V] = svd(B);
D1 = V(:,end);
D1 = D1/D1(1);

More Answers (1)

Bruno Luong
Bruno Luong on 28 Sep 2020
[~,R,P] = qr(B);
D1 = P*[R(1:end-1,1:end-1)\R(1:end-1,end); -1];
D1 = D1/D1(1)

Products


Release

R2020b

Community Treasure Hunt

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

Start Hunting!