Matlab mldivide returns NaN when there are multiple solutions
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
https://matlabarticlesworld.blogspot.com/2024/11/matlab-mldivide-returns-nan-when-there.html