【发布时间】:2017-02-27 17:31:57
【问题描述】:
大家好,我正在编写一个 matlab 代码,当我编写这个程序时,它会向我打印一条错误消息,提示“作业的非单件右轴维度比非单件下标更多”有人可以帮助我吗?
%% INITIALIZATION
% Size of matrix A [rows, cols]
[ma, na] = size(A);
% Size of matrix B [rows, cols]
[mb, nb] = size(B);
% Create matrix C all zeros
C = zeros(ma+mb-1, na+nb-1);
[mc, nc] = size(C);
% Create matrix T.
T = [mb-1, nb-1];
% Add mb-1 rows of zeros up and down matrix A
% Add nb-1 cols of zeros left and right matrix A
padA = padarray(A, [mb-1 nb-1]);
% flip matrix B on both directions
flipB = flip(flip(B, 1), 2);
%% CONVOLUTION
for i = 1 : mb
for j = 1 : nb
for x = 1 : mc
for z = 1 : nc
T(i+x-1,j+z-1) = flipB(i,j) * padA;
C(x,z) = C(x,z) + T(i+x-1,j+z-1);
end
end
end
end
end
【问题讨论】:
-
在哪一行?!?!
-
in T(i+x-1,j+z-1) = flipB(i,j) * padA;
-
什么是
size(flipB(i,j)*padA? -
flipB = [3,3] 并且 padA 是 A 的 padArray,即 256x256
-
不,不是每个的大小,而是结果的大小。
标签: matlab