2015-05-13 29 views
0

c:\ answer2.txt文件數據看起來像3957.7913 11618.2937 72.56 3957.7913 11618.2937 72.56 ......(GPGGA格式:緯度,經度和高度)。輸出數據到matlab中的.txt文件有錯誤

我希望將數據轉換爲十進制: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); 
+0

什麼是錯誤信息? – brodoll

+0

fprint(fp,'%f%f%f',X2(i),Y2(i),Z2(i)) –

+0

我是指在控制檯中讀取的實際消息,而不是有問題的代碼行 – brodoll

回答

0

將fprint改爲fprintf。如果是這樣,任何事情都應該OK

+0

您至少應該認爲@tmpearce。 – brodoll

+1

試圖獲得自我學習者的徽章? – scmg

+0

@brodroll怎麼辦?我是一個新人。 –