控制系统的MATLAB计算及仿真

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

控制系统的MATLAB计算及仿真哈尔滨工业大学(威海)信息科学与工程学院内容提要:1、MATLAB的基础知识2、MATLAB的控制工具箱3、Simulink与控制系统仿真MATLAB的基础知识MATLAB概述MATLAB的主要功能MATLAB的语言规则MATLAB的变量MATLAB数据的输入MATLAB的基本语句结构MATLAB的M-文件MATLAB的图形可视化MATLAB概述Matlab=MatrixLaboratory:矩阵实验室Matlab语言的首创人是C.Moler到九十年代初期,在国际上30几个数学类科技应用软件中,Matlab在数值计算方面独占鳌头,而Mathematica和Maple则分居符号计算软件的前两名。MATLAB的主要功能数值计算功能符号运算功能绘图功能编程功能丰富的工具箱(ToolBox)Simulink动态仿真集成环境命令窗口当前工作目录当前工作空间输入命令的历史记录命令提示符MATLAB的语言规则Matlab区分大小写,它的命令和函数全是小写的一行可以输入几个命令,用分号“;”或逗号“,”隔开续行符:“…”(三个点),如果语句很长,可用续行符将一个语句写成多行。续行符的前最好留一个空格。注释符:“%”,其后面的内容为注释,对Matlab的计算不产生任何影响MATLAB的变量Matlab中变量名是以字母开头,可以由字母、数字或下划线组成who,whos,clc,clear系统预定义变量:eps,pi,Inf,NaN,i,jMATLAB数据的输入直接输入:同一行中各元素之间用“空格”或“,”(英文状态下)分开;行与行之间用“;”或“回车”分开a=[12;3,4]冒号“:”运算符:初值:步长:终值a=[1:5],b=[0:pi/4:pi]由向量或小矩阵生成:X=[a;b]交互式输入:inputn=input('Pleaseinputn:')MATLAB的基本语句结构赋值语句直接赋值语句:赋值变量=赋值表达式(赋值表达式后无分号“;”:命令窗直接显示赋值结果赋值表达式后加分号“;”:命令窗不显示结果,变量保留在workspace)函数调用语句:[返回变量列表]=函数名(输入变量列表)MATLAB的基本语句结构循环语句for语句:for变量=向量,循环体,end;s=0;fori=1:2:100s=s+i;endwhile语句:while(条件式),循环体,end;s=0;i=1;while(i=100)s=s+i;endMATLAB的基本语句结构跳转语句if语句:if(条件1)语句组1;elseif(条件2)语句组2;else语句组2;endMATLAB的基本语句结构跳转语句switch语句:case(表达式1)语句组1;case(表达式2)语句组2;…,…otherwise语句组n;endMATLAB的M-文件M-脚本文件M-函数function[返回变量列表]=函数名(输入变量列表)function[a]=dbness(n)a=2*n;endMATLAB的图形可视化plot函数:1.1,1.1,1.11.11.1,1.1xyxxxclc;x=[-5:0.02:5];[m,n]=size(x);%返回矩阵x的维数fora=1:1:nifx(a)-1.1y(a)=-1.1;elseifx(a)=1.1&x(a)=-1.1y(a)=x(a);elsey(a)=1.1;endendplot(x,y);内容提要:1、MATLAB的基础知识2、MATLAB的控制工具箱3、Simulink与控制系统仿真内容提要:1、MATLAB的基础知识2、MATLAB的控制工具箱3、Simulink与控制系统仿真MATLAB的控制工具箱连续线性系统的数学模型离散线性系统的数学模型系统模型的相互转换离散线性系统的性能分析连续线性系统的数学模型传递函数模型设单变量连续线性系统的传递函数为:112112121...()...mmmmnnnnnbsbsbsbGssasasasa12,1121num[,,...,];den[1,,,...,,];(num,den);mmnnbbbbaaaaGtf传递函数表示为:例:2231sGssnum=[2,3];den=[111];G=tf(num,den);连续线性系统的数学模型传递函数模型MATLAB还支持一种特殊的传递函数的输入格式,在这样的输入方式下,应该先用s=tf(‘s’),定义传递函数的算子,然后直接输入系统的传递函数。例:2231sGsss=tf(‘s’);G=(2*s+3)/(s^2+s+1);延迟环节:seG.ioDelay连续线性系统的数学模型零极点模型设单变量连续线性系统的传递函数为:例:2(1)(2)(3)(4)ssGsssZ=[-1;-2];P=[0;-3;-4];G=zpk(Z,P,2)1212()()...()()()()...()mnszszszGsKspspsp传递函数表示为:1212[...];[...];;;;;(,,);;mnZzzzPpppGzpkZPKpzmap(G):可以直接绘制传递函数的零极点分布图连续线性系统的数学模型状态方程模型设线性系统的状态方程为:状态方程表示为:(,,,)GssABCDx(t)=Ax(t)+Bu(t)y(t)=Cx(t)+Du(t)离散线性系统的数学模型传递函数模型设单变量连续线性系统的传递函数为:101112121...()...nnnnnnnnnbzbzbzbHzzazazaza011,121num[,,...,];den[1,,,...,,];(num,den,'Ts',T);nnnnbbbbaaaaHtf传递函数表示为:例:2231zHzznum=[2,3];den=[111];H=tf(num,den,’Ts’,1);离散线性系统的数学模型传递函数模型MATLAB还支持一种特殊的传递函数的输入格式,在这样的输入方式下,应该先用z=tf(‘z’,T),定义传递函数的算子,然后直接输入系统的传递函数。例:2231zHzzz=tf(‘z’,1);H=(2*z+3)/(z^2+z+1);延迟环节:nzH.ioDelayn离散线性系统的数学模型零极点模型设单变量连续线性系统的传递函数为:例:2(1)(2)(3)(4)zzHzzzZ=[-1;-2];P=[0;-3;-4];H=zpk(Z,P,2,’Ts’,1)1212()()...()()()()...()mnzzzzzzHzKzpzpzp传递函数表示为:1212[...];[...];;;;;(,,,'',;);mnZzzzPpppHzpkZPKTsTpzmap(G):可以直接绘制传递函数的零极点分布图离散线性系统的数学模型状态方程模型设线性系统的状态方程为:状态方程表示为:(,,,,'',)HssFGCDTsT(1)kkkkkkx=Fx()+Gu()y()=Cx()+Du()系统模型的相互转换连续模型离散模型函数:Gz=c2d(Gs,T,’参数’)参数:zoh:零阶保持器法foh:一阶保持器法imp:脉冲响应不变法tustin:双线性变换法prewarp:改进的双线性变化法matched:零极点匹配法()[()()]hHzZGsGs()[()]HzZGs例:1(),1GsTs采样周期Gs=tf([1],[10])Gz=c2d(Gs,1,’zoh’)系统模型的相互转换离散模型连续模型函数:Gs=d2c(Gz,’参数’)参数:zoh:零阶保持器法tustin:双线性变换法prewarp:改进的双线性变化法matched:零极点匹配法例:(),11zGzTz采样周期Gz=tf([10],[1-1],’Ts’,1);Gs=d2c(Gz,’zoh’);离散线性系统的性能分析设:计算机控制系统如图所示:G0(s)Gh(s)D(z)R(s)Y(s)00.19.1544(0.98)(),(),0.2(0.1)0.8187zGsDzTssz离散线性系统的性能分析求系统的闭环脉冲传递函数:clear;%清除变量num=0.1;den=[10.10];G0s=tf(num,den)%G0(s)的脉冲传递函数Z=[0.98];P=[0.8187];K=9.1544;Dz=zpk(Z,P,K,‘Ts’,0.2)%控制器D(z)G0z=c2d(G0s,0.2,'zoh')%G0z=Z(Gh(s)*G0(s))Gz=Dz*G0z%开环脉冲传递函数faiz=feedback(Gz,1);%闭环脉冲传递函数,1表示反馈,本题为单位负反馈离散线性系统的性能分析求系统的阶跃响应:step(faiz,t)%t表示仿真时间离散线性系统的性能分析求系统的根轨迹:rlocus(Gz)Gz表示开环脉冲传递函数离散线性系统的性能分析求系统的奈奎斯特图:nyquist(Gz)Gz表示开环脉冲传递函数求系统的伯德图:bode(Gz)Gz表示开环脉冲传递函数内容提要:1、MATLAB的基础知识2、MATLAB的控制工具箱3、Simulink与控制系统仿真Simulink与控制系统仿真:Simulink环境是系统建模、分析和仿真的理想工具,它提供的模块有一般线性、非线性系统所需的模块,也有更高级的模块,适合于系统的建模与仿真。离散线性系统的性能分析设:计算机控制系统如图所示:G0(s)Gh(s)D(z)R(s)Y(s)00.19.1544(0.98)(),(),0.2(0.1)0.8187zGsDzTssz脱离工具箱,直接利用差分方程编程()()()ekrkyk119.1544(0.98)9.1544(10.98)()()0.818710.8187()zzUzDzzzEz()0.8187(1)9.1544()9.1544*0.98(1)()0.8187(1)9.1544()9.1544*0.98(1)ukukekekukukekek1202120.0019870.0019740.0019870.001974()()1.980.980211.980.9802()hzzzYzGGzzzzzUz()1.98(1)0.9802(2)0.001987(1)0.001974(2)ykykykukuk脱离工具箱,直接利用差分方程编程clear;clc;error_1=0;%e(k-1)=0u_1=0;%u(k-1)=0u_2=0;%u(k-2)=0y_1=0;%y(k-1)=0fork=1:100y(1)=0;r(k)=1;error(k)=r(k)-y(k);u(k)=0.8187*u_1+9.1544*error(k)-9.1544*0.98*error_1;y(k+1)=1.98*y(k)-0.9802*y_1+0.001987*u(k)+0.001974*u_1;y_1=y(k);error_1=error(k);u_2=u_1;u_1=u(k);endplot(y);

1 / 38
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功