Problem using Left Hand Division in MATLAB
2 次查看(过去 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 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!