爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 3940|回复: 3

[程序设计] matlab程序 问题请教

[复制链接]

新浪微博达人勋

发表于 2013-10-21 17:06:43 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 蓝纪溪 于 2013-10-21 17:10 编辑

matlab很弱,请教大家一个问题,以下是我写的一段循环:
ff=0;
t=ctime(1,:);
fprintf(fid,'%s\n',ctime(1,:));
for i=1:(length(ctime))
   if ~strcmp(ctime(i,:),t)
       fprintf(fid,'%s\n',ctime(i,:));
       t=ctime(i,:);
       fprintf('i=%d\n',i);
       ff=ff+1;
   end
   fprintf(fid,'%11.6f%11.6f%11.3f\n',a(i,2:4));
end
输出如下格式的数据:
  20080704 120000
  47.599000 354.263000      3.850
  47.643000 354.307000      3.330
  47.686000 354.351000      3.730
.......
  20080704 130000
...............................
i  输出为时刻所在的行数,现在我想在每一行时刻下面输出该时刻观测数据的个数,即下一个 i 减去上一个 i 的差值,如下:
  20080704 120000
  35
  47.599000 354.263000      3.850
  47.643000 354.307000      3.330
  47.686000 354.351000      3.730
.......
  20080704 130000
  623
...............................

试了好几种写法都不对,哪位大侠帮帮忙~

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

新浪微博达人勋

发表于 2013-10-21 20:44:41 | 显示全部楼层
不清楚的数据存储格式,问题是下个i减上i,指对哪个变量处理,看不懂意思
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2013-10-21 20:59:28 | 显示全部楼层

for i=1:(length(ctime))
   if ~strcmp(ctime(i,:),t)
       fprintf(fid,'%s\n',ctime(i,:));
       t=ctime(i,:);
       fprintf('i=%d\n',i);
       ff=ff+1;
   end
这里输出的 i 为36,659,2079.。。。即数据第一行输出第一个时刻20080704 120000,第36行输出第二个时刻20080704 130000,之间的行输出为观测值,以此类推。所以20080704 120000这个时刻的观测值有35个,我需要把这个观测值的个数加到时间那行下面,这个观测值的个数就是输出的i 的下一个值减去上一个值,不知道怎么把这个写到数据文件里去。多谢了~
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2013-10-21 21:01:48 | 显示全部楼层
蓝纪溪 发表于 2013-10-21 20:59
for i=1:(length(ctime))
   if ~strcmp(ctime(i,:),t)
       fprintf(fid,'%s\n',ctime(i,:));

如果您有解决办法,我能现在联系一下您吗?因为比较着急,琢磨了一下午不对,就想今晚弄好
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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