为什么我接收错误”不足数量的输出从右手边的等号来满足作业。错误A01_pr_rain_UK(第3行)帧= fns1.name”?
3视图(30天)
显示旧的评论
关闭
所有
,明确
所有
clc;
%
fns1 = dir (
“来自pr_amon_access cm2_ssp126_r1i1p1f1_gn_20150616 - 20990916 _v20191108.nc”
);
% % % % %澳大利亚
fns2 = dir (
“蒙古包pr_amon_awi - cm - 1 - 1 - mr_ssp126_r1i1p1f1_gn_20150616 - 20990916 - _v20190529.nc”
);
% % % % %德国
fns3 = dir (
“pr_amon_canesm5 canoe_ssp126_r1i1p2f1_gn_20150616 - 21000916 _v20190429.nc”
);
% % % % %加拿大
fns4 = dir (
“pr_amon_ukesm1 - 0 - ll_ssp126_r1i1p1f2_gn_20150616 - 21000916 - _v20190503.nc”
);
% % % % %
fns5 = dir (
' Ind pr_amon_iitm esm_ssp126_r1i1p1f1_gn_20150616 - 20990916 _v20201112.nc”
);
% % % % %印度
fname1 = fns1.name;
fname2 = fns2.name;
fname3 = fns3.name;
fname4 = fns4.name;
fname5 = fns5.name;
lon_aus =双(ncread (fname1
“朗”
));
lat_aus =双(ncread (fname1
“纬度”
));
pr_aus =双(ncread (fname1
“公关”
));
tm_aus =双(ncread (fname1
“时间”
));
pr_aus1 = pr_aus * 86400;
t_aus = datetime (
“1850-01-01”
)+ tm_aus;
[yyyy_aus mm_aus dd_aus hh_aus mn_aus ss_aus] = datevec (t_aus);
lon_ger =双(ncread (fname2
“朗”
));
lat_ger =双(ncread (fname2
“纬度”
));
pr_ger =双(ncread (fname2
“公关”
));
tm_ger =双(ncread (fname2
“时间”
));
pr_ger1 = pr_ger * 86400;
t_ger = datetime (
“1850-01-01”
)+ tm_ger;
[yyyy_ger mm_ger dd_ger hh_ger mn_ger ss_ger] = datevec (t_ger);
lon_can =双(ncread (fname3
“朗”
));
lat_can =双(ncread (fname3
“纬度”
));
pr_can =双(ncread (fname3
“公关”
));
tm_can =双(ncread (fname3
“时间”
));
pr_can1 = pr_can * 86400;
t_can = datetime (
“1850-01-01”
)+ tm_can;
[yyyy_can mm_can dd_can hh_can mn_can ss_can] = datevec (t_can);
lon_uk =双(ncread (fname4
“朗”
));
lat_uk =双(ncread (fname4
“纬度”
));
pr_uk =双(ncread (fname4
“公关”
));
tm_uk =双(ncread (fname4
“时间”
));
pr_uk1 = pr_uk * 86400;
t_uk = datetime (
“1850-01-01”
)+ tm_uk;
[yyyy_uk mm_uk dd_uk hh_uk mn_uk ss_uk] = datevec (t_uk);
lon_ind =双(ncread (fname5
“朗”
));
lat_ind =双(ncread (fname5
“纬度”
));
pr_ind =双(ncread (fname5
“公关”
));
tm_ind =双(ncread (fname5
“时间”
));
pr_ind1 = pr_ind * 86400;
t_ind = datetime (
“1850-01-01”
)+ tm_ind;
[yyyy_ind mm_ind dd_ind hh_ind mn_ind ss_ind] = datevec (t_ind);
% % % % % % % % % % % %澳大利亚模型! % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
pr_aus2 = (pr_aus1 (find (lon_aus > = 70 & lon_aus < = 75)),(发现(lat_aus > = 15 & lat_aus < = 20)),(发现(mm_aus = = 6))));
pr_aus_avg =挤压(nanmean (nanmean (pr_aus2)));
% % % % % % % % % % % % IITM模型! % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
% % % % % % % % % % % %德国模式! % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
pr_ger2 = (pr_ger1 (find (lon_ger > = 70 & lon_ger < = 75)),(发现(lat_ger > = 15 & lat_ger < = 20)),(发现(mm_ger = = 6))));
pr_ger_avg =挤压(nanmean (nanmean (pr_ger2)));
% % % % % % % % % % % % IITM模型! % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
% % % % % % % % % % % % Canadar模型! % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
pr_can2 = (pr_can1 (find (lon_can > = 70 & lon_can < = 75)),(发现(lat_can > = 15 & lat_can < = 20)),(发现(mm_can = = 6))));
pr_can_avg =挤压(nanmean (nanmean (pr_can2)));
% % % % % % % % % % % % IITM模型! % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
% % % % % % % % % % % % Canadar模型! % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
pr_uk2 = (pr_uk1 (find (lon_uk > = 70 & lon_uk < = 75)),(发现(lat_uk > = 15 & lat_uk < = 20)),(发现(mm_uk = = 6))));
pr_uk_avg =挤压(nanmean (nanmean (pr_uk2)));
% % % % % % % % % % % % IITM模型! % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
% % % % % % % % % % % % IITM模型! % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
pr_ind2 = (pr_ind1 (find (lon_ind > = 70 & lon_ind < = 75)),(发现(lat_ind > = 15 & lat_ind < = 20)),(发现(mm_ind = = 6))));
pr_ind_avg =挤压(nanmean (nanmean (pr_ind2)));
% % % % % % % % % % % % IITM模型! % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
图(1)
情节(pr_aus_avg
“- k”
)
持有
在
;
情节(pr_ger_avg
“- r”
)
持有
在
;
情节(pr_can_avg
“- b”
)
持有
在
;
情节(pr_uk_avg
“g”
)
持有
在
;
情节(pr_ind_avg
“- m”
)
传奇(
“澳大利亚”
,
“德国”
,
“加拿大”
,
“英国”
,
“印度”
)
停止;
个月= [
“君”
;
“7”
;
“8月”
;
“9”
]
次要情节(231)
pcolor (lon_aus lat_aus挤压(pr_aus1 (:,: 2)))
阴影
插值函数
caxis (30 [0]);
轴([65 100 0 40])
持有
在
负载
海岸
情节(lat,
' w '
,
“线宽”
,2)
次要情节(232)
pcolor (lon_ger lat_ger挤压(pr_ger1 (:,: 2)))
阴影
插值函数
caxis (30 [0]);
轴([65 100 0 40])
持有
在
负载
海岸
情节(lat,
' w '
,
“线宽”
,2)
次要情节(233)
pcolor (lon_can lat_can挤压(pr_can1 (:,: 2)))
阴影
插值函数
caxis (30 [0]);
轴([65 100 0 40])
持有
在
负载
海岸
情节(lat,
' w '
,
“线宽”
,2)
次要情节(234)
pcolor (lon_uk lat_uk挤压(pr_uk1 (:,: 2)))
阴影
插值函数
caxis (30 [0]);
轴([65 100 0 40])
持有
在
负载
海岸
情节(lat,
' w '
,
“线宽”
,2)
次要情节(235)
pcolor (lon_ind lat_ind挤压(pr_ind1 (:,: 2)))
阴影
插值函数
caxis (30 [0]);
轴([65 100 0 40])
持有
在
负载
海岸
情节(lat,
' w '
,
“线宽”
,2)
集(gcf,
“颜色”
,
' w '
);
0评论
答案(1)
卢卡铁
2023年4月3日
编辑:卢卡铁
2023年4月3日
“dir”返回一个空的结构自不管出于什么原因,最有可能的路径问题,它无法找到该文件。
空的结构有一个属性“名字”,这是空的,所以无法执行任务。你可以通过与行断点调试:
fname1 = fns1.name;
解决这个问题我将仔细检查文件的路径和可用性。
我给你另一个建议是使用结构体数组而不是几个变量与数据在他们的名字(你可以从“dir”回报结构相同的字段,所以:
fn (1) = dir (“来自pr_amon_access cm2_ssp126_r1i1p1f1_gn_20150616 - 20990916 _v20191108.nc”);% % % % %澳大利亚
fn (2) = dir (“蒙古包pr_amon_awi - cm - 1 - 1 - mr_ssp126_r1i1p1f1_gn_20150616 - 20990916 - _v20190529.nc”);% % % % %德国
fn (3) = dir (“pr_amon_canesm5 canoe_ssp126_r1i1p2f1_gn_20150616 - 21000916 _v20190429.nc”);% % % % %加拿大
fn (4) = dir (“pr_amon_ukesm1 - 0 - ll_ssp126_r1i1p1f2_gn_20150616 - 21000916 - _v20190503.nc”);% % % % %
fn (5) = dir (' Ind pr_amon_iitm esm_ssp126_r1i1p1f1_gn_20150616 - 20990916 _v20201112.nc”);% % % % %印度
或者如果这是唯一.nc文件出现在您的文件夹,一行就可以做到:
fn = dir (“pathToYourFolder \ * .nc”)
这样做,而不是重写每个变量相同的行你可以轻松地循环他们减少代码大小为原来的1/5。