Matlab 循环矢量化后下标赋值维度不匹配
我试着转动这个:Matlab 循环矢量化后下标赋值维度不匹配,matlab,loops,vectorization,edge-detection,Matlab,Loops,Vectorization,Edge Detection,我试着转动这个: for r=1:fsize for c=1:fsize mask(r,c) = exp(-(((r-centre)^2+(c-centre)^2)/2*(sigma^2))); end end 进入 但是我现在得到了错误“下标赋值维度不匹配” 我的理解是,这与两个数组中的索引不匹配有关,但这里的情况似乎并非如此 [r c]=meshgrid(1:fsize); mask = exp(-(((r-centre).^2+(c-centre)
for r=1:fsize
for c=1:fsize
mask(r,c) = exp(-(((r-centre)^2+(c-centre)^2)/2*(sigma^2)));
end
end
进入
但是我现在得到了错误“下标赋值维度不匹配”
我的理解是,这与两个数组中的索引不匹配有关,但这里的情况似乎并非如此
[r c]=meshgrid(1:fsize);
mask = exp(-(((r-centre).^2+(c-centre).^2)/2*(sigma^2)));
这假设
center
和sigma
是标量。+1您可以通过在meshgrid
中移动一些操作来节省一些时间:[r c]=meshgrid((1:fsize)-center)。^2);掩码=exp(-r+c)/2*(σ^2))
;
[r c]=meshgrid(1:fsize);
mask = exp(-(((r-centre).^2+(c-centre).^2)/2*(sigma^2)));