Error using svd Input to SVD must not contain NaN or Inf.
34 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Yapo OBOUE
el 26 de Jun. de 2019
Comentada: Suddhasattwa Das
el 5 de Abr. de 2021
Hello everyone, I meet a problem with my code. when I run this code below, I get this error :
Error using svd Input to SVD must not contain NaN or Inf.
Error in fxy_I2_5Ddamp_nx_ny>P_RD (line ....)
[U,S,V] = svd(din);
How do I solve this problem ? Thanks.
function [dout]=P_RD(din,N,K)
[U,S,V] = svd(din);
s = SoftTh(diag(S), 2);
j=1:N
S=diag(s);
for j=1:N
S(j,j)=S(j,j)*(1-S(N+1,N+1)^K/S(j,j)^K);
end
dout=U(:,1:N)*S(1:N,1:N)*(V(:,1:N)');
return
1 comentario
Respuesta aceptada
Shashank Sharma
el 27 de Jun. de 2019
Editada: Shashank Sharma
el 27 de Jun. de 2019
Run any(any(isnan(din))) and any(any(isinf(din))). If the output is 1 it means your matrix din has an infinity value or a not a number value. This is causing the svd function to error out.
2 comentarios
MatLabMcLovinPotato
el 17 de En. de 2021
I was able to create a sset sys, went to make it again with the same data and got this error about the NaN and Inf. I tried your suggestion (thank you!) and have 0 for both NaN and Inf. Yet still getting the same error?
Suddhasattwa Das
el 5 de Abr. de 2021
I dont get a numeric answer. I get
sparse logical
All zero sparse: 1×1
Más respuestas (0)
Ver también
Categorías
Más información sobre Eigenvalues en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!