juanjijisuan1.m
来自「经典《信号与系统》教程的matlab例程,对深入理解信号与系统相关概念有很大帮助」· M 代码 · 共 42 行
M
42 行
%本程序用来求两个离散信号的卷积y(n)=x(n)*h(n),并且绘制出x(n)、h(n)和y(n)的波形图
%
%执行本程序时,程序提示你输入x(n)、h(n)的表达式,形式如下:
% x(n)=[1,4,3,5,1,2,3,5]
% nx=-4:3 nx表示序列 x(n)中各样值对应的横坐标n
%
% h(n)=[4,2,4,0,4,2]
% nh=-4:2 nh表示序列 h(n)中各样值对应的横坐标n
%
%输入两个信号
x=input('请输入序列x(n)=')
nx=input('请给定x(n)各样值对应的横坐标范围nx=')
h=input('请输入序列h(n)=')
nh=input('请给定h(n)各样值对应的横坐标范围nh=')
%求卷积
[y,ny]=convm(x,nx,h,nh)
a=min(nx);
b=max(nx);
c=min(ny);
d=max(ny);
e=min(nh);
f=max(nh);
x1=zeros(1,a-c);
x2=zeros(1,d-b);
x3=[x1 x x2]
h1=zeros(1,e-c);
h2=zeros(1,d-f);
h3=[h1 h h2]
subplot(3,1,1)
stem(ny,x3)
title('输入x(n)');
subplot(3,1,2)
stem(ny,h3)
title('系统冲激响应h(n)');
subplot(3,1,3)
stem(ny,y)
title('输出y(n)');
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?