威望0
积分7946
贡献0
在线时间763 小时
UID1
注册时间2021-4-14
最后登录2024-11-21
管理员
- UID
- 1
- 威望
- 0
- 积分
- 7946
- 贡献
- 0
- 注册时间
- 2021-4-14
- 最后登录
- 2024-11-21
- 在线时间
- 763 小时
|
[mw_shl_code=applescript,true]function [ hp] = juanji( f,g )
%此函数只为计算两任意二维矩阵的卷积
%命令格式:C=juanji(A,B) C为A B的卷积;
%若A为m*n矩阵,B为p*q矩阵,则C为(m+p-1)*(n+q-1)矩阵;
[m1 n1]=size(f);
[m2 n2]=size(g);
M=m1+m2-1;
N=n1+n2-1;
fp=zeros(M,N);
gp=zeros(M,N);
fp(1:m1,1:n1)=f;
gp(1:m2,1:n2)=g;
Fp=reshape(fp',[M*N 1]); %fp 必须转置 reshape 把原矩阵的各列连接为列矩阵
for i=1:M
G(:,:,i)=gallery('circul',gp(i,); %生成循环矩阵
end
temp=gallery('circul',1:M)';
for i=1:M
for j=1:M
a1=(i-1)*N+1;
a2=i*N;
b1=(j-1)*N+1;
b2=j*N;
c=temp(i,j);
Gb(a1:a2,b1:b2)=G(:,:,temp(i,j))';
end
end
Hp=Gb*Fp;
hp=reshape(Hp,[M N]);
end[/mw_shl_code] |
|