Error using eig. Input matrix contains NaN or Inf.

2 ビュー (過去 30 日間)
Mohammed Soliman
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
Walter Roberson 2020 年 10 月 18 日
Where are you getting your lla2xyz from? I see a few different possible third-party packages.
Mohammed Soliman
Mohammed Soliman 2020 年 10 月 18 日
Obs, I forgot to attach this function. Please find it attached.
-much apperciated!

サインインしてコメントする。

採用された回答

Walter Roberson
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 件のコメント
Mohammed Soliman
Mohammed Soliman 2020 年 10 月 18 日
Dear Walter,
This is great – it works perfectly.
I am going to work on a more extensive example. I will report what happens.
The input data coordinates are lat., lon.
Many thanks for your help.
-much appreciated!
Best Regards, Mohammad
Walter Roberson
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 ExchangeGet Started with MATLAB についてさらに検索

製品


リリース

R2020b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by