资源描述:
《交直流传动控制系统实验讲义》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、实验一Matlab和Simulink中传递函数的建立一.实验目的1.掌握在Matlab中建立系统传递函数的方法。2.掌握在Simulink中建立系统的传递函数及结构图的方法。二.实验设备及仪器计算机、Matlab软件三.实验内容Matlab是由美国Mathworks推出的一个科技应用软件,已经发展成为一个适用于多学科多工作平台的大型软件。它涉及领域广泛,在本课程的实验中主要使用该软件的控制系统工具箱,以加深对控制理论及其应用的理解。Simulink是该公司专门为Matlab设计提供的结构图编程与系统仿真的专用软件工具,该
2、仿真环境下的用户程序其外观就是系统的结构图,使得系统仿真变得简便直观。1.Matlab中建立系统传递函数Matlab启动后的用户界面如图1-1所示,工作空间窗口可以显示Matlab中的各个变量。命令窗口可以输入各种命令,这也是输入系统传递函数的窗口。图1-1Matlab启动界面(1).Matlab中求解微分方程求解微分方程所用的命令为dslove(“方程1”,“方程2”,…),该函数最多可同时求解12个方程。方程中的各阶导数项以大写的D表示,后面跟阶数,在接变量名,例如:D2y代表。实验一Matlab和Simulink中
3、传递函数的建立一.实验目的1.掌握在Matlab中建立系统传递函数的方法。2.掌握在Simulink中建立系统的传递函数及结构图的方法。二.实验设备及仪器计算机、Matlab软件三.实验内容Matlab是由美国Mathworks推出的一个科技应用软件,已经发展成为一个适用于多学科多工作平台的大型软件。它涉及领域广泛,在本课程的实验中主要使用该软件的控制系统工具箱,以加深对控制理论及其应用的理解。Simulink是该公司专门为Matlab设计提供的结构图编程与系统仿真的专用软件工具,该仿真环境下的用户程序其外观就是系统的结
4、构图,使得系统仿真变得简便直观。1.Matlab中建立系统传递函数Matlab启动后的用户界面如图1-1所示,工作空间窗口可以显示Matlab中的各个变量。命令窗口可以输入各种命令,这也是输入系统传递函数的窗口。图1-1Matlab启动界面(1).Matlab中求解微分方程求解微分方程所用的命令为dslove(“方程1”,“方程2”,…),该函数最多可同时求解12个方程。方程中的各阶导数项以大写的D表示,后面跟阶数,在接变量名,例如:D2y代表。例1:在Matlab中求解下列微分方程,变量初始值为,解:在命令窗口中键入命
5、令如图1-2所示。可见方程的解,通过ezplot命令可以绘制该微分方程解的曲线如图1-3所示。图1-2Matlab中输入微分方程图1-3ezplot命令绘制图形(2).Matlab中输入传递函数常用的命令有:tf,printsys,zpk。命令tf,prinfsys可以输入多项式形式的传递函数,首先根据传递函数写出分子多项式的系数向量,分母多项式的系数向量。然后输入命令tf(,)或printsys(num,den,’s’)即可得到传递函数。例2:在Matlab中输入如下系统传递函数解:在Matlab中输入如下命令,注意多
6、项式系数输入时最高项系数在前,然后空格,次高项系数,直到常数项,如果某一项系数为零,在输入系数向量时补零。在Matlab中输入如下命令。可以看到tf和prinfsys的执行结果是相同的。图1-4输入多项式传递函数例3:在Matlab中输入如下传递函数解:使用zpk命令可以输入零极点式传递函数。命令输入方法及结果如1-5图。参数第一项为零点向量,第二项为极点向量,第三项为增益。图2-41输入零极点传递函数图1-5输入零极点式传递函数(3).Matlab中结构图的建立前面讨论了如何输入系统传递函数,下一步是如何将各个模块连接
7、起来形成系统的结构图,Matlab中有如下用于搭建系统结构图的命令:lconv:用于求两个多项式的卷积。当需要两个多项式相乘时,使用该函数。例如:(s+1)*(s+2)。在Matlab中输入num1=[11],num2=[12],num=conv(num1,num2),得到num=[132]。Num为乘积后的多项式系数向量。lseries:用于将两个传递函数串联。具体形式为series(num1,den1,num2,den2),num1,den1为第一个模块的分子,分母多项式系数向量。num2,den2为第二个模块的分子
8、,分母多项式系数向量。或者series(sys1,sys2),sys为使用tf命令生成的传递函数。lparallel:用于将两个传递函数并联。使用方法可采用分子分母多项式向量输入或传递函数输入,parallel(num1,den1,num2,den2)或parallel(sys1,sys2)。lcloop:用于求单位