计算机仿真教材:《控制系统计算机仿真与CAD—MATLAB语言应用》,天津大学出版社参考书:1.《控制系统计算机辅助设计》,清华大学出版社;2.《掌握和精通MATLAB》,北京航空航天大学出版社课程学习的目的:1.了解和掌握自动控制系统计算机仿真的基本原理、方法;2.采用MATLAB工具对控制系统进行仿真;3.采用MATLAB工具对控制系统进行辅助设计。前期课程基础:自动控制原理、自动控制系统、C语言基础授课学时与分配:总学时30学时1.绪论、控制系统数学模型的建立、转换及其连接(3学时)2.控制系统的数字仿真1(3学时)3.控制系统的数字仿真2(3学时)4.最优化的计算机辅助设计概述、线性规划(3学时)5.单变量寻优(6学时)7.多变量寻优(6学时)8.PID参数寻优(3学时)9.总结(2学时)授课时间、地点:时间为;地点为科技楼3楼多媒体教室。第1章绪论一、仿真的目的与方法仿真的目的:采用物理模拟和计算(数值计算、模拟计算)等仿真方法,分析系统的动、静态性能。仿真是对于复杂控制系统进行分析的重要手段。仿真的方法采用物理仿真、数学仿真的前题是数学相似——即仿真模型与对象的传递函数相同。二、数字仿真工具MATLAB的发展历史。创始人:CleveMoler教授,MathWorks公司的首席科学家。70年代中CleveMoler教授在美国国家科学基金会的资助下开发了两个FORTRAN子程序库。LINPACK—求解线性方程;EISPACK—解特征值。70年代末CleveMoler教授为了便于学生使用该程序库,设计了调用接口程序。取名为MATLAB(MATrixLABoratory)。84年MathWorks公司将MATLAB正式推向市场。MATLAB版本升级历程日期版本平台1987MATLAB3.0DOS1991MATLAB3.5DOS1993MATLAB3.0kWINDOWS3.01993MATLAB4.0WINDOWS3.x1993MATLAB4.1WINDOWS3.x1994MATLAB4.2WINDOWS3.x1995MATLAB4.2CWINDOWS3.x1997MATLAB5.0WINDOWS95三、MATLAB简介1.变量与表达式;?A=3*16+10-27/3A=49?3*16+10-27/3ans=492.基本运算符;运算包括算术运算和逻辑运算,参见书上表1-23.M文件例P1_004.M%2s+4%-------------------------%s^4+5s^3+8s^2+6sclcnum=2*[1,2];den=conv(conv([1,0],[1,3]),[1,2,2]);g1=tf(num,den);g=ss(g1);[a,b,c,d]=ssdata(g);ab=a-b*c;bb=b;cb=c;db=d;step(ab,bb,cb,db);4.矩阵、数组与数值运算功能;1)矩阵的输入?A=[123;4,5,6;789]A=123456789另外还可以用MATLAB的函数构造一些特殊的矩阵。2)矩阵与数组的运算A+B、A-B、A*B、A.*B、A\B、A.\B、inv(A)、A^k、矩阵转置、矩阵翻转等。5.多项式运算1)求根r=root(p)已知;p=[1–1141–6130]2)poly函数p=poly(r)(p1_015)clcA=[12;34]p=poly(A)r=roots(p)(P1_014)%X^4-11X^3+41X^2-61X+30=0的根clcp=[1-1141-6130]r=roots(p)6.MATLAB符号运算功能例如:求f1/f2的表达式f。并求f=0的解。7.MATLAB语句流1)循环语句例如:求的值,可以用以下两种方法实现(1)sumi=0;fori=1:100:1sumi=sumi+i;endsumi运行结果是sumi=5050(2)sumi=0;i=1while(i<1000)sumi=sumi+i;i=i+1endsumi运行结果是sumi=50502)条件转移语句例如:当键入Y时给x赋值1,当键入N时给x赋值0,键入其它字符退出程序。ikey=0;while(ikey==0)s1=input(‘请键入字符’,’s’);if(s1==’Y’)x=1elseif(si==’N’)x=0elsebreakendend8.MATLAB的典型时域响应函数1)阶跃响应函数:step(sys);step(sys,T);step(num,den,T);step(A,B,C,D,T)T是一个时间或时间向量。如T=20或T=0:0.01:20例:求的单位阶跃响应(P1_020)(P1_FH)f1='(41*x^2+x+1)^2*(2*x-1)';f2='((3*x+5)*(2*x-1))';f=symdiv(f1,f2);solve(f,'x');clcholdonnum=[16];den=[14361817];T=20;sys=tf(num,den);step(sys,2,T);gridinputa;T=0:2:20;step(sys,T);gridholdoff2)任意输入下的响应函数:lsim(sys,U,T);lsim(sys,U,T,X0);lsim(num,den,U,T);lsim(A,B,C,D,U,T)例:,,,。(P1_021)clcA=[011;001;-4-3-2];B=[005]';C=[100];D=[0];sys=ss(A,B,C,D);t=0:0.001:10;u=20+0.4*sin(t);lsim(sys,u,t);grid9.MATLAB的图形绘制1)plot绘图函数。和传统绘图方法的区别(p1_022)clcholdony0=0;t0=0;fort=1:0.01:4*piy1=sin(t);y=[...