Date: Feb 27, 2013 7:17 AM
Author: Tony Kittler
Subject: Re: Alternative solution for NAN
"Carl S." wrote in message <kgkpep$h9u$1@newscl01ah.mathworks.com>...

> "Torsten" wrote in message <kgko7b$e4d$1@newscl01ah.mathworks.com>...

> > "Carl S." wrote in message <kgkmon$aeo$1@newscl01ah.mathworks.com>...

> > > "Torsten" wrote in message <kgklbh$6ph$1@newscl01ah.mathworks.com>...

> > > > "Carl S." wrote in message <kgki2g$rie$1@newscl01ah.mathworks.com>...

> > > > > The following code gives NAN (Not a Number) values

> > > > > [U,D]=eig(N);

> > > > >

> > > > > To solve this problem, I wrote that

> > > > > while(det(N) == 0)

> > > > > N=(1e-10.*randi(1,size(N)))*eye(size(N));

> > > > > end

> > > > >

> > > > > But, the loop does not stop

> > > >

> > > > Your matrix N within the loop always has determinant (1e-10)^(size(N))

> > > > which may become very small if N is large.

> > > >

> > > > :( Are there any alternative solution instead of this loop to solve the NAN problem ?

> > > >

> > > > Depends on the original matrix N.

> > > >

> > > > Best wishes

> > > > Torsten.

> > >

> > > Dear Torsten,

> > > The matrix N has standard deviation values of grayscale images. So, it changes for each image. How to solve the NAN problem in this case ?

> >

I have tried this,

u=1e-10;

while(det(N) == 0)

N=u.*eye(size(N));

u=u*100;

end

Now, it works without giving NAN value. But, I am not sure that this algorithm correct results. Do you think that this is meaningful or I can get unexpected results ? Any suggestions ?