有没有更优雅的方式来编写这个简单的代码?目的是避免循环。
我尝试使用repmat
索引,但它没有工作
for j=1:size(C,1);
for k=1:size(C,2)
C(j,k)=sum(sum(A([1:j],[1:k]).*B([j:-1:1],[k:-1:1])));
end
end
修改
我修改了代码
j=1:size(C,1);
k=1:size(C,2);
B2=rot90(B,2);
C(j,k)=sum(sum(A(1:j,1:k).*B2(end+1-j:end,end+1-k:end)));
我在所有矩阵C上都有相同的值是正常的吗?
P.S:我知道conv2是性能更高的函数,但我只想了解问题所在(为什么(j,k)不变)和解决方案是什么(没有循环)谢谢