Matlab mldivide returns NaN when there are multiple solutions

Technical Source
1 min readNov 18, 2024

--

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://www.matlabsolutions.com/resources/matlab-mldivide-returns-nan-when-there-are-multiple-solutions.php

https://matlabarticlesworld.blogspot.com/2024/11/matlab-mldivide-returns-nan-when-there.html

--

--

Technical Source
Technical Source

Written by Technical Source

Simple! That is me, a simple person. I am passionate about knowledge and reading. That’s why I have decided to write and share a bit of my life and thoughts to.

No responses yet