I have two matrices:
A = [ -1 0 0; 1 1 -1; 0 -1 1 ]; B = [-1; 0; 1];
and I want to solve the following equation:
Ax=B
when I use mldivide
function I get a matrix of NaNs
X = mldivide(A,B) X = NaN NaN NaN
Knowing there are multiple solutions to this problem I manually tested if one of them, namely [1;0;1]
returns B
:
A*[1; 0; 1]
and, as expected, I reassured myself that it is one of multiple solutions. So here is my question: why does mldivide
return incorret solution?
NOTE:-
Matlabsolutions.com provide latest MatLab Homework Help,MatLab Assignment Help , Finance Assignment Help for students, engineers and researchers in Multiple Branches like ECE, EEE, CSE, Mechanical, Civil with 100% output.Matlab Code for B.E, B.Tech,M.E,M.Tech, Ph.D. Scholars with 100% privacy guaranteed. Get MATLAB projects with source code for your learning and research.
Your matrix A is singular. The MATLAB doc states that in these cases, mldivide is unreliable ("... When working with ill-conditioned matrices, an unreliable solution can result ...") and suggests to use lsqminnorm( ) or pinv( ) instead (see "Tips"). E.g.,
>> A = [ -1 0 0; 1 1 -1; 0 -1 1 ]; >> B = [-1; 0; 1]; >> A\B Warning: Matrix is singular to working precision. ans = NaN NaN NaN >> A*ans-B ans = NaN NaN NaN
SEE COMPLETE ANSWER CLICK THE LINK
Comments
Post a Comment