在matlab中将数据输出到.txt文件时出错

在matlab中将数据输出到.txt文件时出错,matlab,Matlab,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));(提示:earth是matlab脚本名) 如何修改代码以避免此错误 已处理的文件具有纬度、经度和高度坐标

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));(提示:earth是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);

将fprint更改为fprintf。如果是这样,一切都应该正常

错误消息到底是什么?fprint(fp、%f%f',X2(i)、Y2(i)、Z2(i))我是指您在控制台中读取的实际消息,而不是有问题的代码行我想您可能想要打印格式化字符串,不是
fprint
只需在
fprint
之后键入一个额外的
f
,这样它就变成了
fprintf
…试图获得自学证?@brodrol怎么办?我是新来的。只要写下:“正如@tmpeace所建议的,…”