⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.m

📁 matlab实现卷积运算。非常高兴业大家分享此代码。
💻 M
字号:
del_t=.005;
t=-2:del_t:4;
L=length(t);
tp=[2*t(1):del_t:2*t(L)];
disp('欢迎使用卷积器!');
disp('请根据提示操作:');
disp('若需要改变输入函数,请在执行后面语句前修改M文件,函数定义请使用以下几种基本函数的组合[可参照输入1后的示例函数的方式来构造您想要的函数]:');
disp('单位阶跃函数stp_fn(t),斜坡函数rmp_fn(t),单位冲击函数impls_fn(t,delta)[其中delta为冲击宽度也是强度倒数],矩形波函数pls_fn(t)');
N=input('功能一:若想观看示例卷积[即x(t)与h(t)已给定]请输入1并回车;\n功能二:若想自己输入x(t)而h(t)给定为单位阶跃函数实现积分功能请输入2并回车[需要先在changeable_x.m中加上想要的函数,再重新运行main并键入2,否则编译出错!];\n功能三:若想自己输入x(t)而h(t)给定为单位冲击函数实现搬移功能请输入3并回车[需要先在changeable_x.m中加上想要的函数,再重新运行main并键入3,否则编译出错!];\n功能四:若想自己输入x(t)而h(t)进行卷积请输入4并回车[需要先在changeable_x.m及changeable_h.m中加上想要的函数,再重新运行main并键入4,否则编译出错!]。\n')
if N==1
    disp('两个函数为x=2*(pls_fn(t+.5)-pls_fn(t-.5))和h=.5*rmp_fn(t).*stp_fn(2-t)');
    x=2*(pls_fn(t+.5)-pls_fn(t-.5));
    h=.5*rmp_fn(t).*stp_fn(2-t);
   
elseif N==2
    x=changeable_x(t);h=stp_fn(t);
elseif N==3
    x=changeable_x(t);
    M=input('请输入需要搬移的位移量\n')
    h=impls_fn(t-M,.1);
elseif N==4
    x=changeable_x(t);h=changeable_h(t);
end
y=del_t*conv(x,h);
subplot(3,1,1),plot(t,x),xlabel('t'),ylabel('x(t)'),axis([t(1) t(L) -3 3])
subplot(3,1,2),plot(t,h),xlabel('t'),ylabel('h(t)'),axis([t(1) t(L) -3 3])
subplot(3,1,3),plot(tp,y),xlabel('t'),ylabel('y(t)'),axis([t(1) t(L) -3 3])
    
    
    

⌨️ 快捷键说明

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