Matlab:matlab实现循环卷积计算(矩阵法)
clear
clc
%输入基本变量x1,x2,L.
a=input('x1=');
b=input('x2=');
L=input('L=');
A=zeros(L,1);
B=zeros(L,1);
[a1m,a1n]=size(a);
[b1m,b1n]=size(b);
i=1;
k=1;
%定义最基础的x1,x2
while(k==1)
    A(i,1)=a(1,i);
    i=i+1;
    if i>a1n
        k=0;
    end
end
i=1;
k=1;
while(k==1)
    B(i,1)=b(1,i);
    i=i+1;
    if i>b1n
        k=0;
    end
end
i=2;
j=L;
k=1;
x=zeros(L,L);
x(1,1)=A(1,1);
%实现L点循环卷积矩阵的第一行
while(k==1)
    x(1,i)=A(j,1);
    i=i+1;
    j=j-1;
    if(j==1)
        k=0;
    end
end
i=1;
j=L;
k=1;
a=zeros(1,L);
%实现x的L点循环卷积矩阵
%将第一行以后的各行向右循环移一位
while(k==1)
    c=x(i,:);
    a(1)=c(L);
    a(2:L)=c(1:L-1);
    x(i+1,:)=a;
    i=i+1;
    if i==L
        k=0;
    end
end
y=x*B;
figure
grid on


stem(y)

阅读更多
个人分类: Matlab
想对作者说点什么? 我来说一句

传递矩阵法matlab程序

2013年02月03日 7KB 下载

传输矩阵法计算一维光子晶体

2013年03月19日 606KB 下载

高阶累积量matlab源码

2015年07月12日 10.43MB 下载

没有更多推荐了,返回首页

不良信息举报

Matlab:matlab实现循环卷积计算(矩阵法)

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭