Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 其它 > 资料存档
资料存档 资料存档
回复
 
主题工具 显示模式
旧 2019-12-14, 08:46 PM   #1
高级会员
 
注册日期: 2019-11-21
帖子: 2,864
感谢他人: 0
有 0 帖获得 0 感谢
声望力: 59
poster 正向着好的方向发展
帖子 Matlab:丢失了奇怪的纬度格式

我喜欢在Matlab中使用此文件来读取石油平台的位置。我从这里获得文件。 “ Platform.gen”看起来像这样:

Id Lat Lon
1 0.100000000000000D + 02 0.890000000000000D + 02
2 -0.941577040000000D + 02 0.294488400000000D + 02
3 -0.941241560000000D + 02 0.292748680000000D + 02
4 -0.941225830000000D + 02 0.292251370000000D + 02
5 -0.943647730000000D + 02 0.292845940000000D + 02

我使用以下方法将其读入Matlab:
[id lat lon] = textread('platform.gen','%s%s%s');

但是,我不知道如何解码经/纬度值...帮助?



回答:

我建议改用转换说明符%f读取值。这将自动处理双精度浮点数的格式。字符D只是显示科学计数法的另一种方式,因此0.10D+02的双精度为10 :

>> [id,lat,lon] = textread('platform.gen','%u %f %f','headerlines',1) id = 1 2 3 4 5 lat = 10.0000 -94.1577 -94.1242 -94.1226 -94.3648 lon = 89.0000 29.4488 29.2749 29.2251 29.2846 此外,该功能TEXTREAD将有利于未来的MATLAB的版本中删除TEXTSCAN ,您可以使用像这样:

>> fid = fopen('platform.gen','r'); >> data = textscan(fid,'%f %f %f','HeaderLines',1,'CollectOutput',true); >> fclose(fid); >> data{1} ans = 1.0000 10.0000 89.0000 2.0000 -94.1577 29.4488 3.0000 -94.1242 29.2749 4.0000 -94.1226 29.2251 5.0000 -94.3648 29.2846

更多&回答...
poster 当前离线   回复时引用此帖
回复

主题工具
显示模式

发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛禁用 表情符号
论坛启用 [IMG] 代码
论坛启用 HTML 代码
Trackbacks are 禁用
Pingbacks are 禁用
Refbacks are 禁用



所有时间均为北京时间。现在的时间是 06:52 PM


Powered by vBulletin
版权所有 ©2000 - 2021,Jelsoft Enterprises Ltd.

SEO by vBSEO ©2009, Crawlability, Inc.