【发布时间】:2013-04-09 10:10:38
【问题描述】:
我有一个问题,关于如何在循环的每次迭代中使用不同的值。我有一张有 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 波段矩阵。
你知道我该怎么做吗?真的提前谢谢了,
【问题讨论】:
-
将 nd 和 rad 设为向量?所以你有 nd(banda) 和 rad(banda)。或者使用元胞数组。