dfkt.net
当前位置:首页 >> mAtlAB计算离散序列卷积和 >>

mAtlAB计算离散序列卷积和

你好.只要使用conv函数就可以了.例子:u=ones(1,100);v=2*u;w = conv(u,v);plot(w);

u=@(t) t>=0;f1=@(t) exp(-2*t).*u(t);f2=@(t) u(t)-u(t-4);t=-5:0.1:5;f3=conv(f1(t),f2(t));t_new=-10:0.1:10;figure;subplot(1,3,1); plot(t,f1(t)); title('f1');subplot(1,3,2); plot(t,f2(t)); title('f2');subplot(1,3,3); plot(t_new,f3); title('conv(f1,f2)');

首先你得定义卷积函数 function[f,t]=ctsconv(f1,f2,t1,t2,dt); f=conv(f1,f2); f=f*dt; ts=min(t1)+min(t2); te=max(t1)+max(t2); t=ts:dt:te;再得利用conv函数进行卷积就行啦!

在MATLAB中,可以用函数y=filter(p,d,x)实现差分方程的仿真,也可以用函数 y=conv(x,h)计算卷积.(1)即y=filter(p,d,x)用来实现差分方程,d表示差分方程输出y的系数,p表示输入x的系数,而x表示输入序列.输出结果长度数等于x的长e5a48de

呵呵时域的卷积等于频域的直接相乘我们先将他们傅里叶变化,相乘后反傅里叶变化就可以了conv是离散信号的卷积,不是连续信号的卷积函数>> f=fourier(sin(t))*fourier(cos(t))f =i*pi^2*(dirac(w+1)-dirac(w-1))*(dirac(w+1)+dirac(w-1))>> ifourier(f)ans =i*pi^2*(-ifourier(dirac(w-1)^2,w,x)+ifourier(dirac(w+1)^2,w,x))

x1=rand(1,10);y1=rand(1,10);A=x1+y1;B=x1.*y1;C=conv(x1,y1);

不可以求表达式的, 因为在Matlab里面运算时都是以离散的、数字的形式出现的,是对连续信号的采样.你只能求出卷积之后每一点所对应的值,而且做卷积运算之后得到的将是一个离散的序列

原理方法1 基本数学原理 我们假设有两个长度有限的任意序列A(n)和B(n),其e68a84e8a2ad3231313335323631343130323136353331333361303035中A(n)和B(n)的具体数学表达式可以看下图一.那么这两个有限长序列的卷积就应该为C(n)=A(n)

搜一下:亲,用matlab计算下面两序列的线性卷积g[n]={3, 4, -2, 0, 1, -4},h[n]={1, -3, 0, 4, -2, 3}.具体步骤

就这个问题来说,2113 如果你就当这两个都是从1开始的, 直接卷积掉, 结果是5个数, 第一个数就是x(1)*h(1), 这也是你要的卷积当中的一5261个, 只是在你要的结果里,这个是x(0)*h(-1) ,所4102以在结果的序号是-1而不是1, 所以你只要把结果平移就可以了 因为matlab不支持负数序号的1653数组, 所以你最好只是“在心里平移”就好了, 就是说你保专存的还是这个属结果, 只是写程序的时候记住了, 这个是从-1开始的 你只需要在画图的时候指定横坐标 plot(-1:3, conv(x, h))

网站首页 | 网站地图
All rights reserved Powered by www.dfkt.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com