Matlab中的c2d函数用法以及绘制传函的Bode图

1.c2d()函数的用法

c2d()函数的作用是将s域的表达式转化成z域的表达式,s=0对应z=1。

c2d()函数转化的方法有多种:

①zoh, 零阶保持器法,又称阶跃响应不变法;

foh ,一阶保持器法

tustin ,双线性变换法

④ imp, 脉冲响应不变法。

根据不同的场合,使用不同的方法,生成的参数也不一样。在具体的应用场合,需针对不同的具体应用问题采用适当的方法的问题!比如滤波器设计多采用脉冲响应不变法;控制器设计多采用双线性变换法('tustin')、零极点配置法('matched')、后向差分法(这个c2d函数不包含)等;如果是控制系统仿真或控制器的直接数字化设计,被控对象离散化则多采用加零阶保持器方法('zoh',又称阶跃响应不变法)。

若根据s函数直接求z变换,用c2d(k,0.02,'imp')就可以了!'imp'称为“脉冲响应不变法”,实为直接求Z变换!当然还有其他办法!事实上,所有教科书所予“Z变换表”就是直接求Z变换(这种解释有点像“同意反复”),而c2d函数并非如此!比如c2d(k,0.02),尽管没有指明采用何种方法离散化,但事实上默认的是'zoh'!

2.绘制传递函数的Bode图
这里讲述如何用m语言绘制传递函数的bode图。

①打开matlab,进入“编辑器”选项
Matlab中的c2d函数用法以及绘制传函的Bode图_第1张图片
②在编辑器上输入m程序
例如传递函数为

则输入:

g = tf([1],[a,b,1]);  //tf函数中第一项为分子的系数,第二项为分母的系数。

Matlab中的c2d函数用法以及绘制传函的Bode图_第2张图片

③点击保存并运行,弹出传递函数的bode图
Matlab中的c2d函数用法以及绘制传函的Bode图_第3张图片

④双击Bode图,可以改变图的一些性质
Matlab中的c2d函数用法以及绘制传函的Bode图_第4张图片

或者在figure1的菜单项中选择编辑bode图的属性。

如有兴趣,请关注本人的技术分享微信公众号:

Matlab中的c2d函数用法以及绘制传函的Bode图_第5张图片

你可能感兴趣的:(Matlab操作)