How to find the unknown for singular matrix

2 views (last 30 days)
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.)

Accepted Answer

Walter Roberson
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
VARUN CHAGOTRA
VARUN CHAGOTRA on 2 Mar 2021
D1 is known now X is to be calculated.**
Walter Roberson
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.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!