У меня проблема с изменением моего кода, который использует функцию textread для textscan.
Содержимое data.txt:(Примечание:я изменил все фактические координаты на dddd.mmmmmm,dddddd.mmmmmm)
$GPGGA,104005.3,dddd.mmmmmm,N,ddddd.mmmmmm,W,1,05,4.4,73.4,M,48.0,M,,*7E
$GPGGA,104006.3,dddd.mmmmmm,N,ddddd.mmmmmm,W,1,05,2.1,73.5,M,48.0,M,,*7F
$GPGGA,104007.3,dddd.mmmmmm,N,ddddd.mmmmmm,W,1,05,2.1,74.0,M,48.0,M,,*70
$GPGGA,104008.3,dddd.mmmmmm,N,ddddd.mmmmmm,W,1,05,2.4,73.9,M,48.0,M,,*7C
$GPGGA,104009.3,dddd.mmmmmm,N,ddddd.mmmmmm,W,1,04,2.4,73.9,M,48.0,M,,*75
Код:
fid = fopen('E:\data.txt','r');
Location=zeros(2,);
Block = 1;
while(~feof(fid))
A=textscan(fid,'%*s %*s %s %*s %s %*s %*s %*s %*s %*s','delimiter',',','delimiter','\n');
Location(:)=[%s %s]';
x=Location(1,:);
y=Location(2,:);
Block = Block+1;
end
display(Location);
Новый код неверный. Я использую 2 разделителя здесь. Я хочу вынуть значения широты и долготы из каждой строки, если они не равны нулю. Как я могу это исправить? Кроме того, что мне нужно сделать, чтобы значения Lat Long брались только из строк, начинающихся с $GPGGA, если в текстовом файле много разных строк?