基于MATLAB的控制工程教学课件.ppt_第1页
基于MATLAB的控制工程教学课件.ppt_第2页
基于MATLAB的控制工程教学课件.ppt_第3页
基于MATLAB的控制工程教学课件.ppt_第4页
基于MATLAB的控制工程教学课件.ppt_第5页
已阅读5页,还剩94页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

matlab stands for “matrix laboratory” matlab功能: q 数学计算 q 数据分析 b=2+3j; c=a+b; vc = v 5.0000 + 7.0000i v d=a*b vd = v -6.0000 +17.0000i v whos v name size bytes class v a 1x1 16 double array (complex) v b 1x1 16 double array (complex) v c 1x1 16 double array (complex) v d 1x1 16 double array (complex) vgrand total is 4 elements using 64 bytes 基本算术运算符 符号意义义符号意义义符号意义义 +相加矩阵阵乘 方 左除 -相减.数组组乘 方 /右除 *矩阵阵相乘./数组组右 除 .*数组组点乘.数组组左 除 关系运算符 v关系运算符用于比较数、矩阵、字符串之间 的大小或不等关系,其返回值为0或1。 :大于 =:大于等于 =:等于 =:不等于 x = -pi:0.01:pi; plot(x,cos(x); grid on 2、建立m文件 vm文件:纯文本文件,扩展名为m,用任何字 处理软件都可以编辑修改。 v注意: vm文件的文件名必须是字母开头,不能用系 统已有函数名。 建立建立mm文件方法:文件方法: file new m-file how to execute the code? vselect all right click evaluate selection vdebug run vpress f5 vtype file name in command window and press “enter” 路径设置 file | set path 添加选中目录 添加选中目录 及其子目录 教学内容 vmatlab 使用 vmatlab 语言 vmatlab 在机械工程控制中的应用 plot指令 v plot(x,y): 以x为横坐标、y为纵坐标绘制二维图形 x,y是同维数的向量; vplot(y): 相当于x=1,2,length(y)时情形。 绘制平面曲线(绘制多个图 形) v1. plot(x,y1;y2;), x是横坐标向量,y1;y2;是由若干函数的 纵坐标拼成的矩阵 v2. plot(x,y1), hold on, plot(x,y2), hold off v3. plot(x,y1,x,y2,) v4.plotyy 两个坐标系,用于绘制不同尺度的函数。 built-in waveform functions vcos (): 余弦波 vsin() :正弦波 vsquare():方波 vsquare( ,duty): 特殊周期的方波 vsawtooth():锯齿波 vsawtooth(t,0.5):三角波 more commands xlabel( ) : x轴标注 ylabel( ) : y轴标注 title( ) :图标名 subplot(n,m,p) :窗口分成n行m列块,在第p 块绘制图形 曲线颜线颜 色曲线线线线 形标记标记 符号 符号意义义符号意义义符号意义义符号意义义 y黄色-.长长点*星号o圆圆形 m红红紫色-虚线线.点号d钻钻石形 c蓝绿蓝绿 色-实实心线线v倒三角+加号 r红红色:点线线正三角右三角 b蓝蓝色s方形p五角星 w白色 k黑色 plot(x,y,颜色线型点形) plot(x,y,颜色线型点形,x,y,颜色线型点形, ) 例如: plot(x,y,y-*) plotting two variables matlab 数值运算的功能 v创建矩阵 v矩阵运算 v多项式运算 v线性方程组 v数值统计 v线性插值 v函数优化 v微分方程的数值解 矩阵运算 1、矩阵的要素 v整个矩阵必须用方括号“ ”括起来; v矩阵a(m,n)表示矩阵变量a是一个m行n列的矩阵。 v矩阵行与行之间必须用分号“;”或在输入完一行之 后直接用回车键【enter】隔离; v矩阵元素之间必须以逗号“,”或空格号分离。 v矩阵在matlab中是按先列后行的方式储存。 矩阵运算 ventering matrices a = 16 3 2 13; 5 10 11 8; 9 6 7 12; 4 15 14 1 matlab displays the matrix you just entered. a = 16 3 2 13 5 10 11 8 9 6 7 12 4 15 14 1 y=2,4, 5 3 6 8 y= 2 4 5 3 6 8 a=1; b=2; c=3; x=5 b c; a*b a+c c/b x= 5.000 2.000 3.000 2.000 4.000 1.500 2、矩阵的建立 线线性等间间 距生成法 a= start:step:end start为为起始值值,step为为步长长,end为终为终 止值值 。当步长为长为 1时时可省略step参数。step取正数,起始值值 start终终止值值end。 a=1:2:10 a=1 3 5 7 9 定数线线性 采样样法 a=linspace(n1,n2,n) 在线线性空间间上,行矢量的值值从n1到n2,数据个数为为n,缺省 n为为100。 a=linspace(1,10,10) a=1 2 3 4 5 6 7 8 9 10 定数对对数 采样样法 a=logspace(n1,n2,n) ,在对对数空间间上,行矢量的值值从 10 n1 到 10n2,数据个数为为n,缺省n为为50。这这个指令为为建立对对数频频域 轴轴坐标标提供了方便。 a=logspace(1,3,3) a=10 100 1000 一些常用的特殊矩阵 v单位矩阵:eye(m,n);eye(m) v零矩阵:zeros(m,n);zeros(m) v纯1矩阵:ones(m,n);ones(m) v对角矩阵:对角元素向量v=a1,a2,an, a=diag(v) v随机矩阵:rand(m,n)产生一个mn的均匀 分别的随机矩阵 矩阵的修改 x = a; then, to delete the second column of x, use x(:,2) = this changes x to x = 16 2 13 5 11 8 9 7 12 4 14 1 a = 16 3 2 13 5 10 11 8 9 6 7 12 4 15 14 1 x = a; x=a;1,3,5,7 this changes x to x = 16 2 2 13 5 11 11 8 9 7 7 12 4 14 4 1 1 3 5 7 a = 16 3 2 13 5 10 11 8 9 6 7 12 4 15 14 1 增加行 取子阵 a(1,3,4,1,3) this changes a to a = 16 2 9 7 4 14 a = 16 3 2 13 5 10 11 8 9 6 7 12 4 15 14 1 矩阵运算 v求和 - sum(a) v转置 - v对角矩阵 - diag(a) v矩阵求逆- inv(a) v行列式的值 det(a) v矩阵的特征值 eig(a) a.*a ans = 256 9 4 169 25 100 121 64 81 36 49 144 16 225 196 1 polynomial function function description vconv :multiply polynomials.(乘) vdeconv:divide polynomials.(除) vpoly:polynomial with specified roots(求特殊多项式系数 ) vpolyder: polynomial derivative.(求导) vpolyfit:polynomial curve fitting.(曲线拟合) vpolyval:polynomial evaluation. (求值) vpolyvalm:matrix polynomial evaluation.(矩阵求值) vresidue:partial-fraction expansion (residues).(部分分式 展开) vroots: find polynomial roots.(求特征多项式根) representing polynomials p= 1,0,-2,-5 ; polynomial roots partial fraction expansion b=-4,8; a=1,6,8; r,p=residue(b,a) 建 议 教学内容 vmatlab 使用 vmatlab 语言 vmatlab 在机械工程控制中的应用 matlab 在机械工程控制中的应 用 v控制系统模型 v控制系统的时域分析 v控制系统的频域分析 v系统稳定性分析 v控制系统校正及pid控制器仿真 matlab 在机械工程控制中的应 用 v控制系统模型 v控制系统的时域分析 v控制系统的频域分析 v系统稳定性分析 v控制系统校正及pid控制器仿真 控制系统模型 v传递函数模型 v状态方程模型 v零极点增益模型 对线性定常系统,式中s的系数均为常数,且a1不等于零, 分子系数: num=b1,b2,bm,bm+1 分母系数: den=a1,a2,an,an+1 注意:按s降幂进行排列。 一、连续系统的传递函数模型 连续系统的传递函数如下: 用函数 tf(num,den) 就可得到系统的传递函数。 g=tf(num,den) 在matlab中,用z,p,k矢量组表示零极点增益模型。 z=z1,z2,zm,p=p1,p2,.,pn ,k=k. g= zpk(z,p,k) 二、零极点增益模型 k为系统增益,zi为零点,pj为极点 函数tf2zp()可以用来求传递函数的零极点和增益。 z,p,k = tf2zp(num,den) 状态方程与输出方程的组合称为状态空间表达式 matlab:系统状态空间用矩阵组(a,b,c,d)表示 ss(a,b,c,d) 其中,x是n1的状态向量,u是r1的输 入向量,y为m1的输出向量。a为nn的系 统矩阵,b是nr的输入矩阵,c为mn的输出 矩阵,d为mr的直接传输矩阵。 三、状态空间模型 四、模型之间的转换 模型转换的函数包括: ss2tf: 状态空间模型转换为传递函数模型. ss2zp: 状态空间模型转换为零极点增益模型. tf2ss: 传递函数模型转换为状态空间模型. tf2zp: 传递函数模型转换为零极点增益模型. zp2ss: 零极点增益模型转换为状态空间模型. zp2tf: 零极点增益模型转换为传递函数模型. 同一系统可用三种不同的模型表示,它们 各有特点,相互之间可以进行转换。 传递函数模型 状态空间模型 零极点增益模型 ss2tf tf2ss zp2tf tf2zp ss2zp zp2ss 例 子 a1=5 2 1; b1=4 7 1 3 2; g=tf(a1,b1) transfer function: 5 s2 + 2 s + 1 - 4 s4 + 7 s3 + s2 + 3 s + 2 z,p,k=tf2zp(a1,b1) z = -0.2000 + 0.4000i -0.2000 - 0.4000i p = -1.7584 0.2659 + 0.6874i 0.2659 - 0.6874i -0.5234 k = 1.2500 a,b,c,d=tf2ss(a1,b1) a = -1.7500 -0.2500 -0.7500 -0.5000 1.0000 0 0 0 0 1.0000 0 0 0 0 1.0000 0 b = 1 0 0 0 c = 0 1.2500 0.5000 0.2500 d = 0 当传递函数的分子和分母由若干个多项式的乘积表示 时,它可由matlab提供的多项式乘法运算函数conv ( ) 来处理,以获得分子多项式式向量。此函数的调用 格式为: c = conv ( a , b ) num=4*conv(1 2,1 6 6); den=conv(1 0,conv(1 1,conv(1 1,1 3 2 5); g1=tf(num,den) 系统串联 sys1sys2 系统的串联连接 uy num,den = series( num1,den1,num2,den2 ) 并联 系统并联连接 sys1 sys2 u u1 y y1 num,den = parallel ( num1,den1,num2,den2 ) 反馈 sys1 sys2 y2 + uy 系统统的反馈连馈连 接 num,den = feedback ( num1,den1,num2,den2,sign ) 540 0.1 + g3 g1g2 g4 num1=10;den1=1 1; num2=10;den2=2 0.5; num3=540;den3=1;num4=0.1;den4=1; na,da=series(num1,den1,num2,den2); nb,db=feedback(na,da,num4,den4,-1); nc,dc=series(num3,den3,nb,db); num,den=cloop(nc,dc,-1); printsys(num,den) 回车,结果为: num/den = 54000 - 2 s2 + 2.5 s + 5401.5 matlab 在机械工程控制中的应 用 v控制系统模型 v控制系统的时域分析 v控制系统的频域分析 v系统稳定性分析 v控制系统校正及pid控制器仿真 控制系统的时域分析 v求取系统单位阶跃响应:step() v求取系统的脉冲响应:impulse() v常用时域分析函数covar:连续系 统对白噪声的方差响应 step(num,den):可得到由传递函数表示的 系统的单位阶跃响应。时间向量t由系统模型的 特性自动生成。 step(num,den,t),可利用用户指定的时间矢 量t来绘制响应曲线。 t为指定的仿真时间向量 ,一般可以由t=0:step:end等步长地产生出来。 求取系统单位阶跃响应:step() y,x,t=step(num,den); y,x,t=step(num,den,t); y, t=step(g,t); 求取脉冲(激励)响应的调用方法 系统的单位脉冲响应:impulse( ) y,x,t=impulse(num,den); y,x,t=impulse(num,den,t); 格式: impulse函数用于计算系统的单位脉冲( 冲激)响应,当不带输出变量时,可在当前 图形窗口中绘出系统的响应曲线。 典型二阶系统 求当 =8, =0.2时,在时间向量t=0:0.01:3 下的单位阶跃响应。 wn =8 ; %频率 kosi =0.2; %阻尼比 num=wn2;%传递函数分子 den=1,2*kosi*wn,wn2; %传递函数分母 t=0:0.01:3;%时间向量 g=tf(num,den);%得到传递函数 y,t=step(g, t) %也可以用step(num,den,t),得到响 应曲线 例 子 典型二阶系统 求当 =8, =0.2时,在时间向量t=0:0.01:3下 的单位脉冲响应。 wn=8 ; %频率 kosi=0.2; %阻尼比 num=wn2;%传递函数分子 den=1 2*kosi*wn wn2; %传递函数分母 t=0:0.01:3;%时间向量 g=tf(num,den);%得到传递函数 impulse(num,den,t) %得到响应曲线 例 子 其他常用时域分析函数 initial:连续系统的零输入响应 lsim:连续系统对任意输入的响应 格式: y,x,t=initial(a,b,c,d,x0) y,x,t=initial(a,b,c,d,x0,t) y,x,t=lsim(a,b,c,d,u,t) y,x,t=lsim(a,b,c,d,u,t,x0 ) y,x,t=lsim(num,den,u,t) x0为初始状态,t为时间向量,u为输入 vclear all; vt=0:0.01:0.8; vng=50; vtao=0;dg=0.05 1+50*tao 50;g1=tf(ng,dg); vtao=0.0125;dg=0.05 1+50*tao 50;g2=tf(ng,dg); vtao=0.025;dg=0.05 1+50*tao 50;g3=tf(ng,dg) vy1,t=impulse(g1,t);y1a,t=step(g1,t); vy2,t=impulse(g2,t);y2a,t=step(g2,t); vy3,t=impulse(g3,t);y3a,t=step(g3,t); vsubplot(121),plot(t,y1,-,t,y2,-.,t,y3,-) vlegend(tao=0,tao=0.0125,tao=0.025) vxlabel(t(sec),ylabel(x(t);grid on; vsubplot(122),plot(t,y1a,-,t,y2a,-.,t,y3a,-) vlegend(tao=0,tao=0.0125,tao=0.025) vgrid on;xlabel(t(sec),ylabel(x(t); 例3-8-1 matlab 在机械工程控制中的应 用 v控制系统模型 v控制系统的时域分析 v控制系统的频域分析 v系统稳定性分析 v控制系统校正及pid控制器仿真 控制系统的动态特性分析 在matlab中,可以先利用step求出系统的单位阶 跃响应,再通过编程求出系统的动态特性. num=5;%分子 den=1 2 5;%分母 wendingzhi=polyval(num,0)/polyval(den,0);%求出稳态值 y,x,t=step(num,den);%阶跃响应 l=lengt

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论