function R=juanji(F,G)
clear all
clc
% F=[1 2; 3 4];
% G=[-1 1;-2 2];
[m1 n1]=size(F);
[m2 n2]=size(G);
M=m1+m2-1;
N=n1+n2-1;
F(m1+1:M, n1+1:N) = 0; % 维数扩展
G(m2+1:M, n2+1:N) = 0; % 维数扩展
F1 = F';
FP = F1(:);
%step2
%fp=F(:);% 直接得出一维列向量
%for i=1:M
%for j=1:N
%f((i-1)*N+j)=F(i,j); %另一种表示
%f=f';
%end
%end
%step3 循环矩阵
for i = 1 : size(G, 1)
temp = G(i, :); temp = temp';
num = length(temp);
Gi = temp;
for j = 2 : num
tempj = [temp(num-j+2:num); temp(1:num-j+1)];
Gi = [Gi tempj];
end
GP{i} = Gi;
end
%step4 下面得到GF
GF = cat(1, GP{1:end});
for j = 2 : size(G, 1)
temp = cat(1, GP{[num-j+2:num 1:num-j+1]});
GF = [GF temp];
end
%step5 得到结果矩阵
R = GF*FP;
R = reshape(R, [m1+m2-1, n1+n2-1])';