矢量化循环后下标分配维度不匹配



我试着转动这个:

for r=1:fsize
     for c=1:fsize
         mask(r,c) = exp(-(((r-centre)^2+(c-centre)^2)/2*(sigma^2)));
     end
 end

mask(1:fsize,1:fsize) = exp(-(((1-centre:fsize-centre).^2.+(1-centre:fsize-centre).^2)./2.*(sigma.^2)));

但我现在收到错误"下标分配维度不匹配"。

我的理解是,这与两个数组中的索引不匹配有关,但这里似乎不是这样?

为此使用meshgrid

[r c]=meshgrid(1:fsize);
mask = exp(-(((r-centre).^2+(c-centre).^2)/2*(sigma^2)));   

这假设centresigma是标量。

相关内容

最新更新