finding the unknowns in a matrix

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

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")
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

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

More Answers (1)

[~,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!