爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 4960|回复: 1

[讨论] Matlab问题

[复制链接]
回帖奖励 2 金钱 回复本帖可获得 1 金钱奖励! 每人限 2 次

新浪微博达人勋

发表于 2019-3-28 11:34:35 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
fid1=fopen('C:\Users\LENOVO\Desktop\ECMWF\Asia.txt');
fid2=fopen('C:\Users\LENOVO\Desktop\Asia.txt');
[A,B,C,D,E,F,G]=textread('C:\Users\LENOVO\Desktop\ECMWF\Asia.txt','%d %f %d %f %f %f %f');
[AA,BB,CC,DD,EE,FF,GG] =textread('C:\Users\LENOVO\Desktop\Asia.txt','%d %f %d %f %f %f %f');
i=1;
j=1;
m=1;
n=1;
while ~feof(fid1)
if F(i)>21&&F(i)<22&&G(i)>68&&G(i)<69
    K(j)=D(i);
    L(j)=E(i);
    j=j+1;
end
i=i+1;
end
while ~feof(fid2)
if FF(m)>21&&FF(m)<22&&GG(m)>68&&GG(m)<69
    KK(n)=DD(m);
    LL(n)=EE(m);
    n=n+1;
end
m=m+1;
end
plot(E,D,'b-');
hold on
plot(EE,DD,'r-');
hold off
grid on
遇到这样的错误:
错误使用 dataread
Trouble reading integer from file (row 1, field 3) ==> .2          1           0.11074210.6           17.40300610.6           -7


出错 textread (line 174)
[varargout{1:nlhs}]=dataread('file',varargin{:}); %#ok<REMFF1>


出错 Asia (line 3)
[A,B,C,D,E,F,G]=textread('C:\Users\LENOVO\Desktop\ECMWF\Asia.txt','%d %f %d %f %f %f %f');
我的数据格式没问题啊,为什么会这样报错呢??


数据格式大概这种
1          0.5900005.2          13           3.77968610.6           6.74318910.6           -7.97384615.10          64.78241415.10       
1          0.5900005.2          14           4.43311510.6           5.45036810.6           -7.97384615.10          64.78241415.10       
1          0.5900005.2          15           5.13584410.6           4.57826610.6           -7.97384615.10          64.78241415.10       
1          0.5900005.2          1           0.14943010.6           10.02123910.6    21.92241115.10          68.15256815.10       
1          0.5900005.2          2           0.34844610.6           9.40953110.6           21.92241115.10          68.15256815.10       

1          0.5900005.2          3           0.57100510.6           8.46060410.6           21.92241115.10          68.15256815.10       

密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2019-3-28 11:51:19 | 显示全部楼层

回帖奖励 +1 金钱

0.5900005.2  ?一个数有两个小数点?  

就算你数据没啥问题吧,你看看这句
[A,B,C,D,E,F,G]=textread('C:\Users\LENOVO\Desktop\ECMWF\Asia.txt','%d %f %d %f %f %f %f');
[A,B,C,D,E,F,G]表示你读入的数据是以逗号为分隔符,明显的跟你的数据格式,'%d %f %d %f %f %f %f'不一致。  简而言之[A,B,C,D,E,F,G]与'%d %f %d %f %f %f %f'要保持一致

另外,textscan函数也可以实现啊。c=textscan(fid,format);

存放规则的数据很好读的啦。那个“二爷名声在外”专门整理了一个关于matlab读取各种海洋气象数据的笔记,挺好的。
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表