爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 4536|回复: 4

[程序设计] 新手快被逼疯了,matlab一直在报错

[复制链接]

新浪微博达人勋

发表于 2020-2-14 19:57:41 | 显示全部楼层 |阅读模式

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

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

x
close all;
clc;
clear;
cd ('E:\TUXIANG\') ; %待处理的数据文件所在文件夹
Allname=struct2cell (dir) ; %得到上述文件夹下的所有文件名
[m, n]=size (Allname) ;
data= [];

for i=1:n %前两个不是文件名
name=Allname{1,1}
filename=strcat(name);
ncidsst=netcdf.open('TU.nc','NOWRITE'); %打开HDF文件
lonID=netcdf. inqVarID(ncidsst,'lon') ;%返回经度变量ID
lon=netcdf.getVar(ncidsst, lonID); %读入经度值
latID=netcdf. inqVarID(ncidsst,'lat');%返回维度变量ID
lat=netcdf. getVar (ncidsst, latID) ; %读入纬度值
sstID=netcdf. inqVarID(ncidsst,'sst') ;%返回sst变量ID
sst=netcdf.getVar(ncidsst,sstID); %读入sst值
netcdf. close (ncidsst) ; %关闭HDF文件

longl=(0+0)*4;
long2=(10+0)*4;
lati1=(50+90)*4;
lati2=(60+90)*4;
就是这后面一句一直显示说不是整数或者逻辑型变量
RSsst=sst(longl: long2,lati1:lati2)  %截取sst
RSsst(RSsst==-999)=0;%陆地部分为零
RSsstnew=double(RSsst)*0.01;%变成正确的温度
RSsstnew=imrotate(RSsstnew,90) ;%把图像旋转摆正
%imshow(RSsstnew) ;%显示看下是否颠倒
%下步用图像处理滑动邻域操作
fun=inline('mean (mean (x))') ; %做矩阵平均
%B=nlfilter(RSsstnew, [2 2], fun);
B=blkproc (RSsstnew,[4 4],fun) ; %分块矩阵平均
Bl=B(:)';%把矩阵变为一行, 是按照一列一列的方式变成一行
data(i,:)=Bl;%有多少天都放在一起
end
xlswrirte ('D: \englangweather.xls', data) ;

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

新浪微博达人勋

发表于 2020-2-14 20:13:31 | 显示全部楼层
long1等于0肯定是不行的,至少等于1
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2020-2-14 21:26:56 | 显示全部楼层
我去试试,谢谢您的帮助
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2020-2-14 21:47:36 | 显示全部楼层
大佬然后想问您一下,我用什么函数画这个nc文件的图?有高大上一点的嘛
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2020-2-14 21:47:57 | 显示全部楼层
阳光正好 发表于 2020-2-14 20:13
long1等于0肯定是不行的,至少等于1


大佬然后想问您一下,我用什么函数画这个nc文件的图?有高大上一点的嘛
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

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