circonv.m

来自「用Matlab实现重叠保留法计算循环卷积的程序实例」· M 代码 · 共 33 行

M
33
字号
function [y,N0]=circonv(x1,x2,N)
x0=zeros(N);
x1_l=length(x1);
x2_l=length(x2);
if x1_l>x2_l
    max=x1_l;
else
    max=x2_l;
end
if max<N
    max=N;
end
y1=zeros(1,max);
y2=zeros(1,max);
y1=[x1,zeros(1,max-x1_l)];
y2=[x2,zeros(1,max-x2_l)];
y0=zeros(1,N);
for i=1:N
    y0(1,i)=y2(1,i);
end
for i=1:N
    for j=1:N
        tem=mod(j-i,N)+1;
        x0(i,j)=y1(1,tem);
    end
end
y=y0*x0;
N0=0:N-1;
        
        
        
        
        

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?