资源预览内容
第1页 / 共38页
第2页 / 共38页
第3页 / 共38页
第4页 / 共38页
第5页 / 共38页
第6页 / 共38页
第7页 / 共38页
第8页 / 共38页
第9页 / 共38页
第10页 / 共38页
亲,该文档总共38页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
1 实验实验一一 初步初步认识认识 MATLAB 和控制系和控制系统统仿真仿真 一、一、实验实验目的目的 1熟悉 MATLAB 桌面和命令窗口,掌握 MATLAB 仿真软件的使用方法。 2掌握控制系统数学模型的多种描述方法及其仿真实现和互相转换。 3熟悉控制系统仿真常用的 MATLAB 函数。 二、基二、基础础知知识识及及 MATLAB 函数函数 Matlab 是一个功能强大的数值计算、符号运算工具。我们可以很方便地处理线性 代数中的矩阵计算,方程组的求解,微积分运算,多项式运算,偏微分方程求解,统 计与优化等问题。 MATLAB 语言以向量和矩阵为基本的数据单元, 包括流程控制语句(顺序、选择、 循环、条件、转移和暂停等),大量的运算符,丰富的函数,多种数据结构,输入输出 以及面向对象编程。这些既可以满足简单问题的计算,也适合于开发复杂的大型程序。 MATLAB 不仅仅是一套打好包的函数库,同时也是一种高级的、面向对象的编程语言。 使用 MATLAB 能够卓有成效地开发自己的程序,MATLAB 自身的许多函数,实际上 也包括所有的工具箱函数,都是用 M 文件实现的。 1、启动、启动 MATLAB 命令窗口命令窗口 计算机安装好 MATLAB 之后,双击 MATLAB 图标,就可以进入命令窗口 (Command Window),此时意味着系统处于准备接受命令的状态,可以在命令窗口中直 接输入命令语句。 MATLAB 语句形式 变量表达式;变量表达式; 通过等于符号将表达式的值赋予变量。当键入回车键时,该语句被执行。语句执 行之后,窗口自动显示出语句执行的结果。如果希望结果不被显示,则只要在语句之 后加上一个分号(;)即可。此时尽管结果没有显示,但它依然被赋值并在 MATLAB 工作空间中分配了内存。 2、常用函数、常用函数 1)常用的数学运算符 ,*(乘) ,/(左除) ,(右除) ,(幂) 2)常用数学函数 abs,sin,cos,tan,asin,acos,atan,sqrt,exp,imag,real,sign,log,log10,conj(共扼复数)等 2 3)多项式处理函数 在 MATLAB 中,多项式使用降幂系数的行向量表示,如:多项式 表示为:p=1 -12 0 25 116,使用函数 roots 可以求出多项式等于 0 的根,根用列 向量表示。若已知多项式等于 0 的根,函数 poly 可以求出相应多项式。 r=roots(p) r = 11.7473 2.7028 -1.2251 + 1.4672i -1.2251 - 1.4672i p=poly(r) p = -12 -0 25 116 多项式的运算 相乘 conv a=1 2 3 ; b=1 2 c=conv(a,b)=1 4 7 6 conv 指令可以嵌套使用,如 conv(conv(a,b),c) 相除 deconv q,r=deconv(c,b) q=1 2 3 商多项式 r=0 0 0 余多项式 求多项式的微分多项式 polyder polyder(a)=2 2 求多项式函数值 polyval(p,n):将值 n 代入多项式求解。 polyval(a,2)=11 多项式的拟合 多项式拟合又称为曲线拟合,其目的就是在众多的样本点中进行拟合,找出满 足样本点分布的多项式。这在分析实验数据,将实验数据做解析描述时非常有 用。 命令格式:p=polyfit(x,y,n),其中 x 和 y 为样本点向量,n 为所求多项式的阶数, p 为求出的多项式。 11625012 234 xxxx 3 多项式插值 多项式插值是指根据给定的有限个样本点,产生另外的估计点以达到数据更为 平滑的效果。所用指令有一维的 interp1、二维的 interp2、三维的 interp3。这些 指令分别有不同的方法(method) ,设计者可以根据需要选择适当的方法,以满 足系统属性的要求。Help polyfun 可以得到更详细的内容。 y=interp1(xs,ys,x,method) 在有限样本点向量 xs 与 ys 中,插值产生向量 x 和 y,所用方法定义在 method 中,有 4 种选择: nearest:执行速度最快,输出结果为直角转折 linear:默认值,在样本点上斜率变化很大 spline:最花时间,但输出结果也最平滑 cubic:最占内存,输出结果与 spline 差不多 4)绘图函数 plot(x1,y1,option1,x2,y2,option2,) x1,y1 给出的数据分别为 x,y 轴坐标值,option1 为选项参数,以逐点连折线的方式 绘制 1 个二维图形;同时类似地绘制第二个二维图形,等。 这是 plot 命令的完全格式,在实际应用中可以根据需要进行简化。比如: plot(y), 以向量 y 的值为纵坐标,横坐标从 1 开始自动赋值绘制一条平面曲线; plot(x,y), x 和 y 为长度相同的向量,以 x 的值为横坐标和 y 的值为纵坐标绘制一 条平面曲线; plot(x,y,s),这里 s 是作图控制参数,用来控制线条的颜色、线型及标示符号等, 用一个单引号括起来的字符串表示,所绘制的曲线与第二种格式相同(控制参数字符 请参考 Matlab 的帮助,这些参数可以组合使用) ; x=linspace(0,2*pi,100); % 100 个点的 x 座标 y=sin(x); % 对应的 y 座标 plot(x,y); 这就画出了正弦函数在0,2上的图形 若要画出多条曲线,只需将座标对依次放入 plot 函数即可: plot(x, sin(x), x, cos(x); 该命令在同一坐标系中画出了正弦和余弦函数的图形。 grid on:在所画出的图形坐标中加入栅格 grid off:除去图形坐标中的栅格 4 hold on:把当前图形保持在屏幕上不变,同时允许在这个坐标内绘制另外一个图 形。 hold off:使新图覆盖旧的图形 设定轴的范围 axis(xmin xmax ymin ymax) axis(equal):将 x 坐标轴和 y 坐标轴的单位刻度大小调整为一样。 文字标示 text(x,y,字符串) 在图形的指定坐标位置(x,y)处,标示单引号括起来的字符串。 gtext(字符串) 利用鼠标在图形的某一位置标示字符串。 title(字符串) 在所画图形的最上端显示说明该图形标题的字符串。 xlabel(字符串),ylabel(字符串) 设置 x,y 坐标轴的名称。 输入特殊的文字需要用反斜杠()开头。 legend(字符串 1,字符串 2,字符串 n) 在屏幕上开启一个小视窗,然后依据绘图命令的先后次序,用对应的字符串区分 图形上的线。 subplot(mnk):分割图形显示窗口 m:上下分割个数,n:左右分割个数,k:子图编号 semilogx:绘制以 x 轴为对数坐标(以 10 为底) ,y 轴为线性坐标的半对数坐标图 形。 semilogy:绘制以 y 轴为对数坐标(以 10 为底) ,x 轴为线性坐标的半对数坐标图 形。 3、控制系统的模型控制系统的模型 控制系统的表示可用三种模型:传递函数、零极点增益、状态空间。每一种模型 又有连续与离散之分。为分析系统方便有时需要在三种模型间转换。MATLAB 提供了 各种命令,使我们可以很方便的完成这些工作,下面以连续系统为例简要说明有关命 令。 1) 模型与表示式模型与表示式 传递函数模型 5 1 110 1 110 . ( ) . mm mm nn nn b sbsbsb G s a sasa sa 在 MATLAB 中直接用矢量组表示传递函数的分子、分母多项式系数,即: num = bm bm-1 b0; 表示传递函数的分子多项式系数 den = an an-1 a0; 表示传递函数的分母多项式系数 sys = tf(num,den) tf 命令将 sys 变量表示成传递函数模型。 零极点增益模型 12 12 ()().() ( ) ()().() m n szszsz G sk spspsp 在 MATLAB 中用 z、p、k 矢量组分别表示系统的零点、极点和增益,即: z = z1 z2 zm ; p = p1 p2 pn ; k = k ; sys = zpk(z,p,k) zpk 命令将 sys 变量表示成零极点增益模型。 状态空间模型 x = ax + bu y = cx + du 在 MATLAB 中用(a、b、c、d)矩阵组表示,然后 sys = ss(a,b,c,d) ss 命令将 sys 变量表示成状态空间模型。 2) 模型间的转换模型间的转换 在 MATLAB 中进行模型间转换的命令有: ss2tf、ss2zp、tf2ss、tf2zp、zp2tf、zp2ss 它们之间的作用可由下面的示意图表示: ss2tf tf2ss zp2tf tf2zp zp2ss ss2zp 3) 模型间的关系与系统建模模型间的关系与系统建模 实际工作中常常需要由多个简单系统构成复杂系统,MATLAB 中有下面几种命令 零极点增益模型 传递函数模型 状态空间模型 6 可以解决两个系统间的连接问题。 系统的并联系统的并联 parallel 命令可以实现两个系统的并联。 命令格式: n,d = parallel(n1,d1,n2,d2) 其中 n1、d1和 n2、d2分别为 g1(s) 、g2(s)的传递函数分子、分母系数行矢量。 例 将下面两个系统并联连接 1 3 ( ) 4 g s s 2 2 24 ( ) 23 s gs ss 执行下面程序: n1 = 3 ; d1 = 1 4 ; n2 = 2 4 ; d2 = 1 2 3 ; n,d = parallel(n1,d1,n2,d2) 运行结果:n = 0 5 18 25 d = 1 6 11 12 可得并联后系统的传递函数为 2 32 51825 ( ) 61112 ss g s sss 系统的串联系统的串联 series 命令实现两个系统的串联,命令格式: n,d = series(n1,d1,n2,d2) 系统的反馈系统的反馈 feedback 命令实现两个系统的反馈连接, 命令格式: n,d = feedback(n1,d1,n2,d2) 或: n,d = feedback(n1,d1,n2,d2,sign) 其中 sign 是反馈符号,缺省时默认为负(即 sign = -1) 。 例 设有下面两个系统: 1 2 1 ( ) 23 s g s ss 2 1 ( ) 10 gs s 现要将它们负反馈连接,求传递函数 7 输入: n1 = 1,1 ; d1 = 1,2,3 ; n2 = 1; d2 = 1,10 ; n,d = feedback(n1,d1,n2,d2) 运行结果: n = 0 1 11 10
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号