作者Allen1096 (慾望越大,硬碟越大)
看板MATLAB
标题Re: [问题] 读hdf档案使用回圈的问题
时间Mon Nov 20 19:44:54 2017
感谢physbook大大
我不太会用matlab 所以就自己乱试 误打误撞试成功了
for j=3:9
for i=1:9
filename = ['Aqua_MODIS_200' num2str(j) '_0' num2str(i) '.hdf'];
a = 12*(j-3)+i
CF{a} = hdfread(filename,'Cloud_Fraction_Mean_Mean');
end
for i=10:12
filename = ['Aqua_MODIS_200' num2str(j) '_' num2str(i) '.hdf'];
a = 12*(j-3)+i
CF{a} = hdfread(filename,'Cloud_Fraction_Mean_Mean');
end
end
看起来是如果要维持原本的写法的话 要先定义filename
中括号的方式也可以
※ 引述《Allen1096 (慾望越大,硬碟越大)》之铭言:
: 嗨大家好
: 我有一堆.hdf档
: 档名为
: Aqua_MODIS_2003_01.hdf
: Aqua_MODIS_2003_02.hdf
: Aqua_MODIS_2003_03.hdf
: Aqua_MODIS_2003_04.hdf
: ...
: ..
: 我想用回圈把他读出来 利用num2str来读取并存成每个不同的变数
: CF_2003_01
: CF_2003_02
: CF_2003_03
: ...
: ..
: 於是写了
: % Load file using hdfread
: for i=1:9
: i=1;
: ['CF_2003_0'num2str(i)] = hdfread('Aqua_MODIS_2003_0'num2str(i)'.hdf',
: 'Cloud_Fraction_Mean_Mean');
: end
: 结果我的2016版本的matlab一直告诉我 Unexpected MATLAB expression.
: 想请大家帮忙解惑,感谢QQ
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 128.171.151.183
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/MATLAB/M.1511178297.A.288.html
※ 编辑: Allen1096 (128.171.151.183), 11/20/2017 19:45:06
1F:推 physbook: 月份的部分你可以用num2str(i, '%02d')把1输出成01,2变 11/21 00:11
2F:→ physbook: 成02 11/21 00:12
3F:→ physbook: 这样i的回圈就不用分段写了 11/21 00:12
4F:→ physbook: 附带一题,matlab里面变数i的预设值是(-1)^0.5 ,跑回圈 11/21 00:14
5F:→ physbook: 应该要避开 (我是都用ii jj之类的啦! 11/21 00:14
6F:推 sunev: 复数可用1i或1j来表示,还是习惯用i跑for 11/21 00:51