"Carl S." wrote in message <firstname.lastname@example.org>... > "Torsten" wrote in message <email@example.com>... > > "Carl S." wrote in message <firstname.lastname@example.org>... > > > 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 ?
Did you check whether the matrix N already contains NaN values ?