Why am I getting a 'Matrix is singular to working precision' error in Matlab?

Join the discussion
Ask a follow-up here, or get your own question answered by working scientists, mathematicians and engineers — people, not an autocomplete.
Real named experts · corrections over time · the nuance an AI answer skips
2 replies · 2K views
rolotomassi
Messages
52
Reaction score
0
Here is a link the code which I am trying to modify. It is the radial average of a matrix function.

http://uk.mathworks.com/matlabcentral/fileexchange/46468-radialavg-zip/content/radialavg.m

I want to restrict the function to only look within certain angles, e.g. 15 degrees either side of the y axis.

The matrix is centred about the axis I think in this function.

I have tried to use conditions which I add to the first line in the for loop such as :

Y/X > some value, which would restrict to a conic section.

But I get the error "Matrix is singular to working precision" and i don't know why. Its probably evident, but I am a beginner rarely use Matlab.

Thanks
 
Physics news on Phys.org
I think you want to use this instead:

Y./X > some value

When you're working with simple numbers, / and ./ are the same. But once you start talking about vectors and matrices they become different operations.

./ is for element-wise division.
/ is for solving the linear equation xA=B for x

The condition number of the matrices becomes irrelevant if you use ./