谁能给我一些有用的,好玩的MATLAB程序

谁能给我一些有用的,好玩的MATLAB程序,第1张

给你一个画心的程序,去表白吧:

[x,y,z]=meshgrid(linspace(-5,5,120))

f=(x.^2+(9*y.^2)./4+z.^2-1).^3-((9*y.^2).*(z.^3))./80-(x.^2).*(z.^3)

p=patch(isosurface(x,y,z,f,0))

set(p,'FaceColor','r')

grid on

daspect([1 1 1])

view(-30,24)

把值付给四个变量

wp=2*pi*5000ws=2*pi*12000Rp=2As=30

1. buttord

(1)[N,wc]=buttord(wp,ws,αp,αs)

用于计算巴特沃斯数字滤波器的阶数N和3dB截止频率wc。

调用参数wp,ws分别为数字滤波器的通带、阻带截止频率的归一化值,要求:0≤wp≤1,0≤ws≤1。1表示数字频率pi。

αp,αs分别为通带最大衰减和组带最小衰减(dB)。

当ws≤wp时,为高通滤波器;

当wp和ws为二元矢量时,为带通或带阻滤波器,这时wc也是二元向量。

N,wc作为butter函数的调用参数。

(2)[N,Ωc]=buttord(Ωp,Ωs,αp,αs,‘s’)

用于计算巴特沃斯模拟滤波器的阶数N和3dB截止频率Ωc。

Ωp,Ωs,Ωc均为实际模拟角频率。

说明:buttord函数使用阻带指标计算3dB截止频率,这样阻带会刚好满足要求,而通带会有富余。

2.buttap(N)

[z0,p0,k0]=buttap(N)

用于计算N阶巴特沃斯归一化(3dB截止频率Ωc=1)模拟低通原型滤波器系统函数的零、极点和增益因子。

说明:如果要从零、极点模型得到系统函数的分子、分母多项式系数向量ba、aa,可调用

[B,A]=zp2tf(z0,p0,k0)

3.butter

(1)[b,a]=butter(N,wc,‘ftype’)

计算N阶巴特沃斯数字滤波器系统函数分子、分母多项式的系数向量b、a。

调用参数N和wc分别为巴特沃斯数字滤波器的阶数和3dB截止频率的归一化值(关于pi归一化),一般是调用buttord(1)格式计算N和wc。

系数b、a是按照z-1的升幂排列。

(2)[B,A]=butter(N,Ωc,‘ftype’,‘s’)

计算巴特沃斯模拟滤波器系统函数的分子、分母多项式系数向量ba、aa。

调用参数N和Ωc分别为巴特沃斯模拟滤波器的阶数和3dB截止频率(实际角频率),可调用buttord(2)格式计算N和Ωc。

系数B、A按s的正降幂排列。

tfype为滤波器的类型:

◇ftype=high时,高通;Ωc只有1个值。

◇ftype=stop时,带阻阻;此时Ωc=[Ωcl,Ωcu],分别为带阻滤波器的通带3dB下截止频率和上截止频率。

◇ ftype缺省时:

若Ωc只有1个值,则默认为低通;

若Ωc有2个值,则默认为带通;其通带频率区间Ωcl <Ω <Ωcu。

注意:所设计的带通和带阻滤波器系统函数是2N阶。因为带通滤波器相当于N阶低通滤波器与N阶高通滤波器级联。

[N,wc]=buttord(wp,ws,Rp,As,'s')

[B,A]=butter(N,wc,'s')

k=0:511fk=0:14000/512:14000wk=2*pi*fk

Hk=freqs(B,A,wk)

画图,两行两列

subplot(2,2,1)

plot(fk/1000,20*log10(abs(Hk)))grid on

坐标轴意义

xlabel('频率(kHz)')ylabel('幅度(dB)')

坐标的取值范围

axis([0,14,-40,5])


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7750018.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-09
下一篇 2023-04-09

发表评论

登录后才能评论

评论列表(0条)

保存