我的Matlab代码有什么问题?索引超出范围

时间:2011-08-08 23:48:39

标签: matlab filter nmea kalman-filter

我正在尝试读取包含nmea字符串的文本文件!但是我得到了

??? Attempted to access y(1); index out of bounds because numel(Longitude)=0.
Error in ==> filter at 16
Loc(:,i)=coordinates(x(i),y(i))';

filter.m

clear all
A=textread('xxx\x.txt','%s','headerlines',1);
 for i=1:30;
n=2*i-1;
A(i)=A(n);
end
b=A(1:30,:);
c=char(b);
x=c(:,17:24);
y=c(:,28:36);

我无法弄清楚为什么这是错的?!!

3 个答案:

答案 0 :(得分:0)

Longitude=c(:,28:36);%Extract Longitude Array

我的猜测是c(:,28:36)为空,暗示A也可能为空。

答案 1 :(得分:0)

A为空。请改用TEXTSCAN

>> fid = fopen('C:\Users\myself\Desktop\2.txt', 'rt');
>> A = textscan(fid, '%s');
>> A = A{1};
>> fclose(fid);

答案 2 :(得分:0)

你删除了字符串的错误部分,最后以,N,部分开头(也没有小数)。我相信你想要

Longitude=c(:,31:42);%Extract Longitude Array