索引超出Matlab中的矩阵维数

时间:2016-03-01 17:29:24

标签: matlab

我正在使用Matlab R2015b并且我一直在遇到一个问题,我的索引认为它对于矩阵维度来说太大了。这是我的代码:

fid = fopen('GPS.dat');
m = 0;
r = 6371;
while feof(fid) == 0
    m = m + 1;
    GPS = fgetl(fid);
    [x,GPS2] = strtok(GPS,' '); 
    [y,GPS3] = strtok(GPS2,' '); 
    [z,GPS4] = strtok(GPS3,' '); 
    [GPSweek,GPS5] = strtok(GPS4,' ');
    [GPSsecondintoweek] = strtok(GPS5,' '); 
end
for i = 1:m 
    if x(i) == 0 && y(i) == 0
        lon(i) = 0;
    elseif x(i) ~= 0 
        lon(i) = atand(y(i)/x(i));
    end
    if z(i) ~= 0
        lat(i) = asind((z(i))/r);
    else
        lat(i) = 0;
    end
end

代码应该从.dat文件中获取笛卡尔坐标,并将它们转换为经度和纬度。代码一直工作到for循环的第二次迭代,当i = 2.这让我感到困惑,因为dat文件有6个向量,所以m = 6,所以它应该能够达到6。

感谢您的帮助。

0 个答案:

没有答案