Error using eig. Input matrix contains NaN or Inf.
3 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Mohammed Soliman
le 17 Oct 2020
Commenté : Walter Roberson
le 18 Oct 2020
Dear All,
While I am using the attached code (code1.m), I have got this error message:
------
Error using eig
Input matrix contains NaN or Inf.
Error in error_ellipse_fnc (line 18) [eigenvec, eigenval ] = eig(covariance);
------
For replicating the situation, I have attached a .mat (trial.mat) and the function files that contains all parameters needed for running the code.
Please could you check what could be the reason for such an error?
Thank you!
4 commentaires
Walter Roberson
le 18 Oct 2020
Where are you getting your lla2xyz from? I see a few different possible third-party packages.
Réponse acceptée
Walter Roberson
le 18 Oct 2020
Revised code1.m. Please re-check whether the data is indeed lat/lon or is cartographic (km)
datavariety = 1; %1: data is lat/long
fid= fopen('error_analysis.out','w');
fprintf(fid,' LAT LON DEP AX1(km) AX2(km) AY1(km) AY2(km) AZ1(km) AZ2(km) EX(km) EY(km) EZ(km) YR MO DY HR MN SC MG ID\n');
%fprintf(' LAT LON DEP AX1(km) AX2(km) EZ(km) AZ YR MO DY HR MN SC MG ID\n');
for i=1:length(id_o)
ii= find(ID_m==id_o(i));
if isempty(ii); continue; end
[x,y,z] = lla2xyz(mean(ey(ii)),mean(ex(ii)),ey(ii),ex(ii),ez(ii));
[ax1,ax2]= error_ellipse_fnc(x, y, datavariety, 1);
[ay1,ay2]= error_ellipse_fnc(x, z, datavariety, 0);
[az1,az2] = error_ellipse_fnc(y, z, datavariety, 0);
stdx=std(x);stdy=std(y);stdz=std(z);
fprintf(fid,'%11.6f%12.6f%8.3f%8.3f%8.3f%8.3f%8.3f%8.3f%8.3f%8.3f%8.3f%8.3f%5i%3i%3i%3i%3i%7.3f%5.1f%10i\n',m(i,2),m(i,3),m(i,4),ax1,ax2,ay1,ay2,az1,az2,...
stdx,stdy,stdz,m(i,11),m(i,12),m(i,13),m(i,14),m(i,15),m(i,16),m(i,17),m(i,1));
end
fclose(fid);
2 commentaires
Walter Roberson
le 18 Oct 2020
note that there are some id_o that do not match any ID_m. The change I made silently moves to the next value, but you might want to consider outputting a warning before moving on.
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Get Started with MATLAB dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!