本文主要是介绍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,进入“编辑器”选项
②在编辑器上输入m程序
例如传递函数为
则输入:
g = tf([1],[a,b,1]); //tf函数中第一项为分子的系数,第二项为分母的系数。
③点击保存并运行,弹出传递函数的bode图
④双击Bode图,可以改变图的一些性质
或者在figure1的菜单项中选择编辑bode图的属性。
这篇关于Matlab中的c2d函数用法以及绘制传函的Bode图的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!