Error using eig. Input matrix contains NaN or Inf.
2 ビュー (過去 30 日間)
古いコメントを表示
Mohammed Soliman
2020 年 10 月 17 日
コメント済み: Walter Roberson
2020 年 10 月 18 日
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 件のコメント
Walter Roberson
2020 年 10 月 18 日
Where are you getting your lla2xyz from? I see a few different possible third-party packages.
採用された回答
Walter Roberson
2020 年 10 月 18 日
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 件のコメント
Walter Roberson
2020 年 10 月 18 日
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.
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Get Started with MATLAB についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!