2011-08-08 80 views
-2

我試圖讀取包含nmea字符串的文本文件!但我得到我的Matlab代碼有什麼問題?索引超出界限

??? 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); 

我想不通爲什麼它是錯的?!

+1

,以避免名稱衝突,我會重新命名你的腳本文件比'filter.m'以外的東西(有該名稱的內置MATLAB函數) – Amro

回答

0

你切出字符串的錯誤部分,並在一開始(也沒有小數)的,N,部分結束。我相信你想

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

哦!我真笨!只是想出來了!謝謝!! – emil

+0

您也正在關閉我只能假定緯度部分出錯的數據。你應該仔細檢查一下。 –

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

我的猜測是,c(:,28:36)是空的,這意味着A可能是空的了。

0

A爲空。使用TEXTSCAN代替:

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