请选择 进入手机版 | 继续访问电脑版
爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 4920|回复: 9

[程序设计] 运用matlab ,for 循环出错了,请帮忙看看

[复制链接]

新浪微博达人勋

发表于 2018-5-8 15:31:34 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 奚若 于 2018-5-9 15:40 编辑

我要算1901-2016年每年各格点年降水量,希望得出Pre1901,Pre1902,,,,,,Pre2016这样的结果,但是最后得出的数据不合理,并且只能算到1913年,没有报错。请帮我看下哪里不对了。数据是月值格点数据。(觉得这个脚本难以继续,修改了新脚本,在后边,附新脚本工作区图片。)麻烦了
clear all;
clc;
fdir='F:\毕业论文\MATLAB\pre_mon_interp-0.1_nc_mask.nc';
data=ncinfo(fdir);
lon=ncread(fdir, 'longitude');
lat=ncread(fdir, 'latitude');
time=ncread(fdir,'time');
pre=ncread(fdir,'pre');
M=size(lon,1);%lon经度
N=size(lat,1);%lat纬度
L=size(time,1);
a=zeros(M,N);
n=1;
m=12;
i=1901;
for o=0
   if m<1393;
   for k= n:m;
       pre1=pre(1:51,1:71,k);%某月的降水变化
  a=a+pre1
    eval(['Pre' num2str(i) '= a'])
n=n+12
m=m+12
i=i+1
   end
    end
end

再次更改了下脚本,可以出现Pre1901--2016,但陷入了死循环中,结果也不对,最后ctrl+c终止了。这咋闹。以下是新脚本。(图片为此脚本的相关图片
clc;
fdir='F:\毕业论文\MATLAB\mon_interp-0.1_nc_mask.nc';
data=ncinfo(fdir);
lon=ncread(fdir, 'longitude');
lat=ncread(fdir, 'latitude');
time=ncread(fdir,'time');)
pre=ncread(fdir,'pre');
M=size(lon,1);%lon经度
N=size(lat,1);%lat纬度
L=size(time,1);
a=zeros(M,N);
for n=1:12:1381;
    for m=12:12:1392
        for i=1901:2016
   for k=n:m;
        pre1=pre(1:51,1:71,k);
  a=a+pre1;
  %Pre(:,:,i)=a;
    eval(['Pre' num2str(i) '= a']);
   end;
        end
    end
end
QQ图片20180509153027.png
QQ图片20180509153104.png
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2018-5-8 16:49:33 | 显示全部楼层
用什么语言写的
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 成长值: 32430
发表于 2018-5-8 17:57:50 | 显示全部楼层
加上worksheet截图吧
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2018-5-9 15:10:13 | 显示全部楼层
已经解决了吗
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2018-5-9 15:20:40 | 显示全部楼层
qxsw2016 发表于 2018-5-8 16:49
用什么语言写的

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

新浪微博达人勋

 楼主| 发表于 2018-5-9 15:21:24 | 显示全部楼层
运用Matlab软件
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2018-5-9 15:41:43 | 显示全部楼层

已上传,麻烦您啦
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2018-5-9 15:44:19 | 显示全部楼层

还没有呢。。。。。。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 成长值: 32430
发表于 2018-5-11 18:28:51 | 显示全部楼层
楼主这不是死循环,几百万次的循环,需要很长的时间,建议还是改进算法吧
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2018-5-12 17:52:21 | 显示全部楼层
二爷名声在外 发表于 2018-5-11 18:28
楼主这不是死循环,几百万次的循环,需要很长的时间,建议还是改进算法吧

嗯嗯,好的,谢了。
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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