我有一个问题,我怎么能在循环的每次迭代中使用不同的值。我有145个乐队的图像。我计算大小,行数,列数和带数
size=size(HYP);
nrow= size(1);
ncolu= size(2);
nbands= size(3);
我必须为每个波段做一个操作,然后获得结果,但我不知道如何为每次迭代自动更改其中一个值。我将尝试简化问题。这是我的循环。之前定义了值rad1。我需要在每个循环上使用之前定义的某个值(例如,band2值rad2,band3 rad3 ......)并为每个循环提取结果(nd1自动更改为nd2等)
output= zeros(nrow,ncolu,nbands);
for banda=1:nbands;
nd1= -((3.141592*rad1)/-HYP2(:,:,1));
output(banda,1)= (nd1);
end
end
所以,对于第一次迭代:
nd1 = - ((3.141592 * rad1 )/ - HYP2(:,:, 1 )); 输出(banda,1)=( nd1 );
第二次......
nd2 = - ((3.141592 * rad2 )/ - HYP2(:,:, 2 )); 输出(banda,2)=( nd2 );
之前定义了Rad1,rad 2 ... rad145等。最后,输出将是145波段矩阵。
你知道我该怎么办?非常感谢提前,
答案 0 :(得分:5)
不要尝试使用不同的变量名称。只需使用rad(1)
,rad(2)
等,然后
output= zeros(nrow, ncolu, nbands);
for banda=1:nbands;
output(:,:,banda) = -((3.141592*rad(banda))/-HYP2(:,:,1));
end
(顺便说一下,output
的初始化与循环中的代码不匹配。)