Problem using Left Hand Division in MATLAB
조회 수: 3 (최근 30일)
이전 댓글 표시
Hello Everyone,
I am currently working on trying to solve a System of Linear Equations, but MATLAB keeps on returning all zeroes. This is because all of the elements in the second matrix (on the answer side of the linear equations) are zeroes, but that is the only thing I am allowed to work with.
Here is the code:
--------------------------------------------------------
sysEq = [1/sqrt(35), -3/sqrt(34), 1/sqrt(42); 3/sqrt(35), 0, -4/sqrt(42); 5/sqrt(35), 5/sqrt(34), 5/sqrt(42)]
sysEqAns = [0, 0, 0]';
Ans = sysEq\sysEqAns
---------------------------------------------------------
If anyone knows how to resolve this complication, I'd be very grateful.
Thanks, Mike
댓글 수: 2
Guillaume
2014년 10월 16일
Well, [0 0 0]' is obviously the solution to your particular set of linear equations, so I'm not sure what else you're hoping to get.
I don't particularly understand your comment 'that is the only thing I am allowed to work with'. If your constants are not zero, obviously don't set them as 0, otherwise you'll never get the right answer.
Finally, as an aside, I wouldn't call my variable Ans, it's a bit too close to matlab built-in variable ans.
Mischa Kim
2014년 10월 16일
Not that obvious. For a rank-deficient matrix there are an inifinte number of non-zero solution vectors.
채택된 답변
Mischa Kim
2014년 10월 16일
편집: Mischa Kim
2014년 10월 16일
Michael, the answer (zero-vector) is correct. If you do
rank(sysEq)
you'll see that the matrix has full rank (= 3). This means that the rows (and columns) of the matrix are linearly independent which in turn means that only Ans = [0 0 0]' multiplied by the matrix will result in the zero-vector sysEqAns = [0 0 0]'. In other words, there is no other solution for Ans that results in the zero-vector for sysEqAns.
추가 답변 (0개)
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!