How to find the unknown for singular matrix
2 views (last 30 days)
Show older comments
VARUN CHAGOTRA
on 2 Mar 2021
Commented: Walter Roberson
on 2 Mar 2021
A1 =
1.0e+04 *
Columns 1 through 3
-0.7300 + 0.4621i 0.0000 + 0.0000i 0.0057 + 0.0060i
-1.6373 + 2.1637i 0.0008 + 0.0014i 0.0251 + 0.0110i
-1.4519 - 2.4852i 0.0271 - 0.0132i 0.0008 - 0.0014i
-0.6706 - 0.4064i 0.0057 - 0.0060i 0.0000 - 0.0000i
0.0000 + 0.0000i -0.7300 + 0.4621i 0.0000 + 0.0000i
0.0000 + 0.0000i -1.6373 + 2.1637i 0.0000 + 0.0000i
0.0000 + 0.0000i -1.4519 - 2.4852i 0.0000 + 0.0000i
0.0000 + 0.0000i -0.6706 - 0.4064i 0.0000 + 0.0000i
Columns 4 through 6
0.0014 + 0.0009i 0.0000 + 0.0000i 0.0000 + 0.0000i
0.0057 + 0.0060i 0.0000 + 0.0000i 0.0000 + 0.0000i
-0.0066 + 0.0090i -0.0001 + 0.0000i 0.0000 + 0.0000i
0.0008 - 0.0014i 0.0000 + 0.0000i 0.0000 + 0.0000i
0.0000 + 0.0000i 0.0014 + 0.0009i 0.0000 + 0.0000i
0.0000 + 0.0000i 0.0057 + 0.0060i 0.0008 + 0.0014i
0.0000 + 0.0000i -0.0066 + 0.0090i 0.0271 - 0.0132i
0.0000 + 0.0000i 0.0008 - 0.0014i 0.0057 - 0.0060i
Columns 7 through 8
0.0000 + 0.0000i 0.0000 + 0.0000i
0.0000 + 0.0000i 0.0000 + 0.0000i
0.0000 + 0.0000i 0.0000 + 0.0000i
0.0000 + 0.0000i 0.0000 + 0.0000i
0.0057 + 0.0060i 0.0000 + 0.0000i
0.0251 + 0.0110i 0.0000 + 0.0000i
0.0008 - 0.0014i -0.0001 + 0.0000i
0.0000 - 0.0000i 0.0000 + 0.0000i
And X1=[ 1 u v l l*u u^2 u*v l*u^2].'
B=[0 0 0 0 0 0 0 0]
A1 X1=B
how to get values of X1 i.e u v and l . Here A1 is singular(approx.)
0 Comments
Accepted Answer
Walter Roberson
on 2 Mar 2021
nulls = null(A);
candidates = nulls./nulls(:,1);
The columns in candidates should start with 1 ... unless they start with NaN which would indicate a null space what started with 0, which cannot be normalized into your target X1. So you could test for leading 0 in the columns of nulls and eliminate any such columns.
At this point you can do cross-checking like whether the sixth row is close enough to the square of the second row; discard any columns that the cross-checks fail on.
My suspicion is that your matrix probably does not have the required properties, but at least you will be able to prove it.
It is clear that if a suitable X1 does exist, then A * X1 = all zeros, which is the definition of X1 belonging to the null space -- and therefore once you have extracted the null spaces, and normalized the leading coefficient, that you can read off u v l and do the cross-checking.
5 Comments
Walter Roberson
on 2 Mar 2021
please post your code. My copy of MATLAB is not advanced enough to be able to execute pictures of code.
More Answers (0)
See Also
Categories
Find more on Logical in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!