c:\ answer2.txt 文件数据看起来像3957.7913 11618.2937 72.56 3957.7913 11618.2937 72.56 ......(GPGGA格式:纬度,经度和高度)。
我想将数据转换为十进制:39.963188 116.304895 72.56 ......
代码在第19行中有错误:==>中的错误地球在19年 fprint(fp,'%f%f%f',X2(i),Y2(i),Z2(i)); (提示:地球是matlab脚本名称)
如何修改代码以避免此错误?
已处理的文件具有纬度,经度和高度坐标,它们是GPGGA(一种NMEA)格式。 Matlab将以十进制而不是度数,分钟显示这些坐标。
fid = fopen('c:\answer2.txt');
[A, count] = fscanf(fid,'%f ',inf);
fid1=['earth','.txt'];
fp=fopen(fid1,'wt');
B=reshape(A,3,count/3);
X=B(1,:);%ddmm.mmmm latitude coordinate
Y=B(2,:);% longitude coordinate
Z=B(3,:);% height coordinate
X2=(X-3900)/60+39;
Y2=(Y-11600)/60+116;
Z2=Z;
for i=1:count/3
fprint(fp,'%f %f %f ',X2(i),Y2(i),Z2(i));
end
fclose(fp);
fclose(fid);
答案 0 :(得分:0)
将fprint更改为fprintf。如果是这样,任何事都应该没问题