资源预览内容
第1页 / 共38页
第2页 / 共38页
第3页 / 共38页
第4页 / 共38页
第5页 / 共38页
第6页 / 共38页
第7页 / 共38页
第8页 / 共38页
第9页 / 共38页
第10页 / 共38页
亲,该文档总共38页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
控制系统的MATLAB计算 及仿真哈尔滨工业大学(威海) 信息科学与工程学院内容提要:n1、MATLAB的基础知识n2、MATLAB的控制工具箱n3、Simulink与控制系统仿真MATLAB的基础知识nMATLAB概述nMATLAB的主要功能nMATLAB的语言规则nMATLAB的变量nMATLAB数据的输入nMATLAB的基本语句结构nMATLAB的M-文件nMATLAB的图形可视化MATLAB概述nMatlab=Matrix Laboratory:矩阵实验室nMatlab 语言的首创人是 C. Molern到九十年代初期,在国际上 30 几个数学类科 技应用软件中, Matlab 在数值计算方面独占 鳌头,而 Mathematica 和 Maple 则分居符号 计算软件的前两名。MATLAB的主要功能n数值计算功能n符号运算功能n绘图功能n编程功能n丰富的工具箱(ToolBox)nSimulink动态仿真集成环境命令窗口当前工 作目录当前工 作空间输入命令的 历史记录命令 提示符MATLAB的语言规则nMatlab 区分大小写,它的命令和函数全是小写的n一行可以输入几个命令,用分号“;” 或逗号“,”隔开 n续行符: “”(三个点),如果语句很长,可用续行 符将一个语句写成多行。续行符的前最好留一个空格 。n注释符: “%”,其后面的内容为注释,对 Matlab 的 计算不产生任何影响MATLAB的变量nMatlab中变量名是以字母开头,可以由字母、数字或 下划线组成nwho,whos,clc,clearn系统预定义变量:eps, pi, Inf, NaN, i, j MATLAB数据的输入n直接输入: 同一行中各元素之间用“空格”或“,” (英文状态下) 分开; 行与行之间用 “;” 或“回车”分开a=1 2 ; 3, 4 n冒号 “:” 运算符:初值 : 步长 : 终值 a=1:5, b=0:pi/4:pi n由向量或小矩阵生成:X=a ; bn交互式输入:inputn=input(Please input n: ) MATLAB的基本语句结构n赋值语句q直接赋值语句:赋值变量=赋值表达式 (赋值表达式后无分号“;”: 命令窗直接显示赋值结果赋值表达式后加分号“;”:命令窗不显示结果,变量保留在 workspace)q函数调用语句:返回变量列表=函数名(输入变 量列表)MATLAB的基本语句结构n循环语句qfor语句:for 变量=向量,循环体,end;s=0;for i=1:2:100 s=s+i;endqwhile语句:while (条件式),循环体,end;s=0;i=1;while(i=-1.1y(a)=x(a);elsey(a)=1.1;end end plot(x,y);内容提要:n1、MATLAB的基础知识n2、MATLAB的控制工具箱n3、Simulink与控制系统仿真内容提要:n1、MATLAB的基础知识n2、MATLAB的控制工具箱n3、Simulink与控制系统仿真MATLAB的控制工具箱n连续线性系统的数学模型n离散线性系统的数学模型n系统模型的相互转换n离散线性系统的性能分析连续线性系统的数学模型n传递函数模型 设单变量连续线性系统的传递函数为:传递函数表示为:例:num=2,3;den=1 1 1;G=tf(num,den);连续线性系统的数学模型n传递函数模型 MATLAB还支持一种特殊的传递函数的输入格式,在 这样的输入方式下,应该先用s=tf(s),定义传递函数的算子,然后直接输入系统的传递函数。例:s=tf(s);G=(2*s+3)/(s2+s+1);延迟环节 :连续线性系统的数学模型n零极点模型 设单变量连续线性系统的传递函数为:例:Z=-1;-2;P=0;-3;-4;G=zpk(Z,P,2)传递函数表示为:pzmap(G):可以直接绘制传递函数的零极点分布图连续线性系统的数学模型n状态方程模型 设线性系统的状态方程为:状态方程表示为:离散线性系统的数学模型n传递函数模型 设单变量连续线性系统的传递函数为:传递函数表示为:例:num=2,3;den=1 1 1;H=tf(num,den,Ts,1);离散线性系统的数学模型n传递函数模型 MATLAB还支持一种特殊的传递函数的输入格式,在 这样的输入方式下,应该先用z=tf(z,T),定义传递函数的算子,然后直接输入系统的传递函数。例:z=tf(z,1);H=(2*z+3)/(z2+z+1) ; 延迟环节 :离散线性系统的数学模型n零极点模型 设单变量连续线性系统的传递函数为:例:Z=-1;-2;P=0;-3;-4;H=zpk(Z,P,2,Ts,1)传递函数表示为:pzmap(G):可以直接绘制传递函数的零极点分布图离散线性系统的数学模型n状态方程模型 设线性系统的状态方程为:状态方程表示为:系统模型的相互转换n连续模型 离散模型函数:Gz=c2d(Gs,T,参数 )参数:zoh:零阶保持器法foh: 一阶保持器法imp: 脉冲响应不变法tustin: 双线性变换法prewarp: 改进的双线性变化法matched: 零极点匹配法例:Gs=tf(1,1 0)Gz=c2d(Gs,1,zoh)系统模型的相互转换n离散模型 连续模型函数:Gs=d2c(Gz,参数 )参数:zoh:零阶保持器法tustin: 双线性变换法prewarp: 改进的双线性变化法matched: 零极点匹配法例:Gz=tf(1 0,1 - 1,Ts,1);Gs=d2c(Gz,zoh);离散线性系统的性能分析设:计算机控制系统如图所示:离散线性系统的性能分析n求系统的闭环脉冲传递函数:clear; % 清除变量 num=0.1; den=1 0.1 0; 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表示反馈,本题为单 位负反馈离散线性系统的性能分析n求系统的阶跃响应:step(faiz, t) %t表示仿真时间离散线性系统的性能分析n求系统的根轨迹:rlocus(Gz) Gz表示开环脉冲传递函数离散线性系统的性能分析n求系统的奈奎斯特图:nyquist(Gz) Gz表示开环脉冲传递函数n求系统的伯德图:bode(Gz) Gz表示开环脉冲传递函数内容提要:n1、MATLAB的基础知识n2、MATLAB的控制工具箱n3、Simulink与控制系统仿真Simulink与控制系统仿真:nSimulink环境是系统建模、分析和仿真的理想 工具,它提供的模块有一般线性、非线性系统 所需的模块,也有更高级的模块,适合于系统 的建模与仿真。离散线性系统的性能分析设:计算机控制系统如图所示:脱离工具箱,直接利用差分方程编程脱离工具箱,直接利用差分方程编程clear; clc; error_1=0; %e(k-1)=0 u_1=0; %u(k-1)=0 u_2=0; %u(k-2)=0 y_1=0; %y(k-1)=0 for k=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); end plot(y);
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号