MATLAB仿真实验全部
MATLAB仿真实验报告

MATLAB 仿真实验报告课题名称:MATLAB 仿真——图像处理学院:机电与信息工程学院专业:电子信息科学与技术年级班级:2012级电子二班一、实验目的1、掌握MATLAB处理图像的相关操作,熟悉相关的函数以及基本的MATLAB语句。
2、掌握对多维图像处理的相关技能,理解多维图像的相关性质3、熟悉Help 命令的使用,掌握对相关函数的查找,了解Demos下的MATLAB自带的原函数文件。
4、熟练掌握部分绘图函数的应用,能够处理多维图像。
二、实验条件MATLAB调试环境以及相关图像处理的基本MATLAB语句,会使用Help命令进行相关函数查找三、实验内容1、nddemo.m函数文件的相关介绍Manipulating Multidimensional ArraysMATLAB supports arrays with more than two dimensions. Multidimensional arrays can be numeric, character, cell, or structure arrays.Multidimensional arrays can be used to represent multivariate data. MATLAB provides a number of functions that directly support multidimensional arrays. Contents :●Creating multi-dimensional arrays 创建多维数组●Finding the dimensions寻找尺寸●Accessing elements 访问元素●Manipulating multi-dimensional arrays操纵多维数组●Selecting 2D matrices from multi-dimensional arrays从多维数组中选择二维矩阵(1)、Creating multi-dimensional arraysMultidimensional arrays in MATLAB are created the same way astwo-dimensional arrays. For example, first define the 3 by 3 matrix, and then add a third dimension.The CAT function is a useful tool for building multidimensional arrays. B =cat(DIM,A1,A2,...) builds a multidimensional array by concatenating(联系起来)A1, A2 ... along the dimension DIM. Calls to CAT can be nested(嵌套).(2)、Finding the dimensions SIZE and NDIMS return the size and number of dimensions of matrices.(3)、Accessing elements To access a single element of a multidimensional array, use integer subscripts(整数下标).(4)、Manipulating multi-dimensional arraysRESHAPE, PERMUTE, and SQUEEZE are used to manipulate n-dimensional arrays. RESHAPE behaves as it does for 2D arrays. The operation of PERMUTE is illustrated below.Let A be a 3 by 3 by 2 array. PERMUTE(A,[2 1 3]) returns an array with the row and column subscripts reversed (dimension 1 is the row, dimension 2 is the column, dimension 3 is the depth and so on). Similarly, PERMUTE(A,[3,2,1]) returns an array with the first and third subscripts interchanged.A = rand(3,3,2);B = permute(A, [2 1 3]);%permute:(转置)C = permute(A, [3 2 1]);(5)、Selecting 2D matrices from multi-dimensional arrays Functions like EIG that operate on planes or 2D matrices do not accept multi-dimensional arrays as arguments. To apply such functions to different planes of the multidimensional arrays, use indexing or FOR loops.For example: A = cat( 3, [1 2 3; 9 8 7; 4 6 5], [0 3 2; 8 8 4; 5 3 5], ...[6 4 7; 6 8 5; 5 4 3]);% The EIG function is applied to each of the horizontal 'slices' of A.for i = 1:3eig(squeeze(A(i,:,:))) %squeeze 除去size为1的维度endans =10.3589-1.00001.6411ans =21.22930.3854 + 1.5778i0.3854 - 1.5778ians =13.3706-1.6853 + 0.4757i-1.6853 - 0.4757iINTERP3, INTERPN, and NDGRID are examples of interpolation and data gridding functions that operate specifically on multidimensional data. Here is an example of NDGRID applied to an N-dimensional matrix.示例程序x1 = -2*pi:pi/10:0;x2 = 2*pi:pi/10:4*pi;x3 = 0:pi/10:2*pi;[x1,x2,x3] = ndgrid(x1,x2,x3);z = x1 + exp(cos(2*x2.^2)) + sin(x3.^3);slice(z,[5 10 15], 10, [5 12]); axis tight;程序运行结果:2、题目要求:编写程序,改变垂直于X轴的三个竖面的其中两个面的形状,绘制出图形。
matlab软件仿真实验(信号与系统)(1)

matlab软件仿真实验(信号与系统)(1)《信号与系统实验报告》学院:信息科学与⼯程学院专业:物联⽹⼯程姓名:学号:⽬录实验⼀、MATLAB 基本应⽤实验⼆信号的时域表⽰实验三、连续信号卷积实验四、典型周期信号的频谱表⽰实验五、傅⽴叶变换性质研究实验六、抽样定理与信号恢复实验⼀MATLAB 基本应⽤⼀、实验⽬的:学习MATLAB的基本⽤法,了解 MATLAB 的⽬录结构和基本功能以及MATLAB在信号与系统中的应⽤。
⼆、实验内容:例⼀已知x的取值范围,画出y=sin(x)的图型。
x=0:0.05:4*pi;y=sin(x);plot(y)例⼆计算y=sin(π/5)+4cos(π/4)例三已知z 取值范围,x=sin(z);y=cos(z);画三维图形。
z=0:pi/50:10*pi;x=sin(z);y=cos(z);plot3(x,y,z)xlabel('x')ylabel('y')zlabel('z')例四已知x的取值范围,⽤subplot函数绘图。
参考程序:x=0:0.05:7;y1=sin(x);y2=1.5*cos(x);y3=sin(2*x);y4=5*cos(2*x);subplot(2,2,1),plot(x,y1),title('sin(x)')subplot(2,2,2),plot(x,y2),title('1.5*cos(x)')subplot(2,2,3),plot(x,y3),title('sin(2*x)')subplot(2,2,4),plot(x,y4),title('5*cos(2*x)')连续信号的MATLAB表⽰1、指数信号:指数信号Ae at在MATLAB中可⽤exp函数表⽰,其调⽤形式为:y=A*exp(a*t) (例取 A=1,a=-0.4)参考程序:A=1;a=-0.4;t=0:0.01:10;ft=A*exp(a*t);plot(t,ft);grid on;2、正弦信号:正弦信号Acos(w0t+?)和Asin(w0t+?)分别由函数cos和sin表⽰,其调⽤形式为:A*cos(w0t+phi) ;A*sin(w0t+phi) (例取A=1,w0=2π,?=π/6) 参考程序:A=1;w0=2*pi; phi=pi/6; t=0:0.001:8;ft=A*sin(w0*t+phi);plot(t,ft);grid on ;3、抽样函数:抽样函数Sa(t)在MATLAB中⽤sinc函数表⽰,其定义为:sinc(t)=sin(πt)/( πt)其调⽤形式为:y=sinc(t)参考程序:t=-3*pi:pi/100:3*pi;ft=sinc(t/pi);plot(t,ft);grid on;4、矩形脉冲信号:在MATLAB中⽤rectpuls函数来表⽰,其调⽤形式为:y=rectpuls(t,width),⽤以产⽣⼀个幅值为1,宽度为width,相对于t=0点左右对称的矩形波信号,该函数的横坐标范围由向量t决定,是以t=0为中⼼向左右各展开width/2的范围,width的默认值为1。
Matlab实验仿真实验数据

附录实验二程序:(1)>> clear>> tic;>> t=-5:0.5:5;>> for n=1:size(t,2)if(t(n)<0)y(n)= 3*t(n)^2+5;elsey(n)= -3*t(n)^2+5;endend>> figure(1);>> plot(t,y);>> xlabel('x');>> ylabel('y');>> grid on;>> toc;(2)>> clear>> tic;>> t=[-5:0.5:5];>> b=t>=0;>> y(b)=-3*t(b).^2 + 5;>> y(~b)=3*t(~b).^2 + 5;>> figure(2);>> plot(t,y);>> xlabel('x');>> ylabel('y');>> grid on;>> toc;结果:(1)Elapsed time is 0.156000 seconds.(2)Elapsed time is 0.094000 seconds.实验三程序:(1)>> clear;>> n=input('ENTER A NUMBER:');>> sum=0;>> m=1;>> while m<nsum=sum+m;m=m+2;end>> fprintf('The result of all odd numbers within a given number is:%d\n',sum);(2)创建Fib.m文件% 函数功能: 计算斐波那契数列的第 n 个斐波那契数% 文件名: Fib.m% 含有 n 个数的斐波那契数列的定义如下:% f(1) = 1% f(2) = 2% f(n) = f(n-1) + f(n-2)function y=Fib(n);a(1)=1;a(2)=1;i=2;while i<=na(i+1)=a(i-1)+a(i);i=i+1;end;y=a(i);结果:(1)ENTER A NUMBER:6The result of all odd numbers within a given number is:9(2)>> Fib(7)ans =21实验四(1)程序:创建myfun.m文件% 函数功能: 计算x的双曲正弦、双曲余弦和双曲正切,并画出对应的图象。
MATLAB仿真实验项目

二、实验设备
PC 机,MATLAB 仿真软件。
三、实验内容
10 ,运用串联校正方法,设计控制器,使 0.5s 2 s 系统的性能满足要求。
被控对象 G p ( s)
四、实验步骤
+ 校 正
阶跃信号
10 0.5s 2 s
1、作原系统的 bode 图,求出静态误差系数 K v 0 ,相位裕度 c 0 和开 环截止频率 c 0 。 2、作时域仿真,求出阶跃响应曲线,记录未校正系统的时域性能 Mp 和 ts,并记录下所选择的参数。 3、设计超前校正装置 Gc(s),实现希望的开环频率特性,即
s=-5。
(b)
G2 ( s )
s 2 0.5s 10 s 2 2s 10 ,分子分母多项式阶数相等,即 n=m=2。
(c) G3 ( s) (d) G4 ( s)
s 2 0.5s ,分子多项式零次项系数为零。 s 2 2s 10
s ,原响应的微分,微分系数为 1/10。 s 2s 10
1 修改参数,写出程序分别实现 n1 = n 0 和 n 2 =2 n 0 的响应曲线,并作记录。 2
% n 0 10 3、试作以下系统的脉冲响应,并比较与原系统响应曲线的差别与特点,作出 相应的实验分析结果 (a) G1 (s)
2s 10 ,有系统零点情况,即 s 2 2s 10
2
2、修改参数,分别实现 =1, =2 的响应曲线,并作记录。 程序为: n0=10;d0=[1 2 10];step(n0,d0 )
%原系统 =0.36 hold on %保持原曲线 n1=n0,d1=[1 6.32 10];step(n1,d1) % =1 n2=n0;d2=[1 12.64 10];step(n2,d2) % =2
Matlab实验报告

实验一:Matlab操作环境熟悉一、实验目的1.初步了解Matlab操作环境。
2.学习使用图形函数计算器命令funtool及其环境。
二、实验内容熟悉Matlab操作环境,认识命令窗口、内存工作区窗口、历史命令窗口;学会使用format命令调整命令窗口的数据显示格式;学会使用变量和矩阵的输入,并进行简单的计算;学会使用who和whos命令查看内存变量信息;学会使用图形函数计算器funtool,并进行下列计算:1.单函数运算操作。
求下列函数的符号导数(1)y=sin(x); (2) y=(1+x)^3*(2-x);求下列函数的符号积分(1)y=cos(x);(2)y=1/(1+x^2);(3)y=1/sqrt(1-x^2);(4)y=(x1)/(x+1)/(x+2)求反函数(1)y=(x-1)/(2*x+3); (2) y=exp(x); (3) y=log(x+sqrt(1+x^2));代数式的化简(1)(x+1)*(x-1)*(x-2)/(x-3)/(x-4);(2)sin(x)^2+cos(x)^2;(3)x+sin(x)+2*x-3*cos(x)+4*x*sin(x);2.函数与参数的运算操作。
从y=x^2通过参数的选择去观察下列函数的图形变化(1)y1=(x+1)^2(2) y2=(x+2)^2(3) y3=2*x^2 (4) y4=x^2+2 (5) y5=x^4 (6)y6=x^2/23.两个函数之间的操作求和(1)sin(x)+cos(x) (2) 1+x+x^2+x^3+x^4+x^5乘积(1)exp(-x)*sin(x) (2) sin(x)*x商(1)sin(x)/cos(x); (2) x/(1+x^2); (3) 1/(x-1)/(x-2);求复合函数(1)y=exp(u) u=sin(x) (2) y=sqrt(u) u=1+exp(x^2)(3) y=sin(u) u=asin(x) (4) y=sinh(u) u=-x实验二:MATLAB基本操作与用法一、实验目的1.掌握用MATLAB命令窗口进行简单数学运算。
matlab仿真实验报告

matlab仿真实验报告Matlab仿真实验报告引言:Matlab是一种广泛应用于科学和工程领域的数值计算软件,它提供了强大的数学和图形处理功能,可用于解决各种实际问题。
本文将通过一个具体的Matlab 仿真实验来展示其在工程领域中的应用。
实验背景:本次实验的目标是通过Matlab仿真分析一个电路的性能。
该电路是一个简单的放大器电路,由一个输入电阻、一个输出电阻和一个放大倍数组成。
我们将通过Matlab对该电路进行仿真,以了解其放大性能。
实验步骤:1. 定义电路参数:首先,我们需要定义电路的各个参数,包括输入电阻、输出电阻和放大倍数。
这些参数将作为Matlab仿真的输入。
2. 构建电路模型:接下来,我们需要在Matlab中构建电路模型。
可以使用电路元件的模型来表示电路的行为,并使用Matlab的电路分析工具进行仿真。
3. 仿真分析:在电路模型构建完成后,我们可以通过Matlab进行仿真分析。
可以通过输入不同的信号波形,观察电路的输出响应,并计算放大倍数。
4. 结果可视化:为了更直观地观察仿真结果,我们可以使用Matlab的图形处理功能将仿真结果可视化。
可以绘制输入信号波形、输出信号波形和放大倍数的变化曲线图。
实验结果:通过仿真分析,我们得到了以下实验结果:1. 输入信号波形与输出信号波形的对比图:通过绘制输入信号波形和输出信号波形的变化曲线,我们可以观察到电路的放大效果。
可以看到输出信号的幅度大于输入信号,说明电路具有放大功能。
2. 放大倍数的计算结果:通过对输出信号和输入信号的幅度进行计算,我们可以得到电路的放大倍数。
通过比较不同输入信号幅度下的输出信号幅度,可以得到放大倍数的变化情况。
讨论与分析:通过对实验结果的讨论和分析,我们可以得出以下结论:1. 电路的放大性能:根据实验结果,我们可以评估电路的放大性能。
通过观察输出信号的幅度和输入信号的幅度之间的比值,可以判断电路的放大效果是否符合设计要求。
MATLAB仿真实验报告

MATLAB仿真实验报告MATLAB仿真实验报告实验三PID控制仿真实验一、实验目的1.掌握MATLAB6.5软件的使用方法。
2.完成直流伺服电机PID典型控制系统结构图设计及调试。
二、实验内容1.熟悉MATLAB6.5软件各菜单作用。
2.完成直流伺服电机PID典型系统结构图设计并调试成功。
三、实验设备微型计算机1台四、实验步骤1.双击桌面MATLAB6.5快捷图标,进入MATLAB仿真环境。
2.单击菜单simulink选项,进入其界面。
单击filenew--model进入新建文件界面。
3.在新建文件界面中,通过simulink选项的下拉菜单中选择仿真需要的函数及器件,组成仿真系统结构图。
4.仿真调试:鼠标单击“黑三角”图标,再双击“SCOPE”示波器,即可显示仿真结果。
5.改变参数,观察调试结果。
五、实验报告要求1.写出实验具体过程。
2.画出仿真结果图和仿真系统结构图。
实验四直流电机双闭环系统仿真实验一、实验目的1.掌握MATLAB6.5软件的使用方法。
2.完成双闭环典型系统结构图设计及调试。
二、实验内容1.熟悉MATLAB6.5软件各菜单作用。
2.完成PID典型系统结构图设计并调试成功。
三、实验设备微型计算机1台四、实验步骤1.双击桌面MATLAB6.5快捷图标,进入MATLAB仿真环境。
2.单击菜单simulink选项,进入其界面。
单击filenewmodel进入新建文件界面。
3.在新建文件界面中,通过simulink选项的下拉菜单中选择仿真需要的函数及器件,组成仿真系统结构图。
4.仿真调试:鼠标单击“黑三角”图标,再双击“SCOPE”示波器,即可显示仿真结果。
5.改变参数,观察调试结果。
五、实验报告要求1.写出实验具体过程。
2.画出仿真结果图和仿真系统结构图。
实验五直流电机控制模型仿真实验一、实验目的1.掌握MATLAB6.5软件的使用方法。
2.完成直流电机仿真系统结构图设计及调试。
二、实验内容1.熟悉MATLAB6.5软件各菜单作用。
MATLAB仿真实验全部

实验一 MATLAB 及仿真实验(控制系统的时域分析)一、实验目的学习利用MATLAB 进行控制系统时域分析,包括典型响应、判断系统稳定性和分析系统的动态特性;二、预习要点1、 系统的典型响应有哪些?2、 如何判断系统稳定性?3、 系统的动态性能指标有哪些?三、实验方法(一) 四种典型响应1、 阶跃响应:阶跃响应常用格式:1、)(sys step ;其中sys 可以为连续系统,也可为离散系统。
2、),(Tn sys step ;表示时间范围0---Tn 。
3、),(T sys step ;表示时间范围向量T 指定。
4、),(T sys step Y =;可详细了解某段时间的输入、输出情况。
2、 脉冲响应:脉冲函数在数学上的精确定义:0,0)(1)(0〉==⎰∞t x f dx x f 其拉氏变换为:)()()()(1)(s G s f s G s Y s f === 所以脉冲响应即为传函的反拉氏变换。
脉冲响应函数常用格式: ① )(sys impulse ;② );,();,(T sys impulse Tn sys impulse ③ ),(T sys impulse Y =(二) 分析系统稳定性有以下三种方法:1、 利用pzmap 绘制连续系统的零极点图;2、 利用tf2zp 求出系统零极点;3、 利用roots 求分母多项式的根来确定系统的极点(三) 系统的动态特性分析Matlab 提供了求取连续系统的单位阶跃响应函数step 、单位脉冲响应函数impulse 、零输入响应函数initial 以及任意输入下的仿真函数lsim.四、实验内容(一) 稳定性1.系统传函为()27243645232345234+++++++++=s s s s s s s s s s G ,试判断其稳定性%Matlab 计算程序num=[3 2 5 4 6];den=[1 3 4 2 7 2];G=tf(num,den);pzmap(G);p=roots(den) 2.用Matlab 求出253722)(2342++++++=s s s s s s s G 的极点。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一 MATLAB 及仿真实验(控制系统的时域分析)一、实验目的学习利用MATLAB 进行控制系统时域分析,包括典型响应、判断系统稳定性和分析系统的动态特性;二、预习要点1、 系统的典型响应有哪些?2、 如何判断系统稳定性?3、 系统的动态性能指标有哪些?三、实验方法(一) 四种典型响应1、 阶跃响应:阶跃响应常用格式:1、)(sys step ;其中sys 可以为连续系统,也可为离散系统。
2、),(Tn sys step ;表示时间围0---Tn 。
3、),(T sys step ;表示时间围向量T 指定。
4、),(T sys step Y =;可详细了解某段时间的输入、输出情况。
2、 脉冲响应:脉冲函数在数学上的精确定义:0,0)(1)(0〉==⎰∞t x f dx x f 其拉氏变换为:)()()()(1)(s G s f s G s Y s f ===所以脉冲响应即为传函的反拉氏变换。
脉冲响应函数常用格式: ① )(sys impulse ;② );,();,(T sys impulse Tn sys impulse ③ ),(T sys impulse Y =(二) 分析系统稳定性有以下三种方法:1、 利用pzmap 绘制连续系统的零极点图;2、 利用tf2zp 求出系统零极点;3、 利用roots 求分母多项式的根来确定系统的极点(三) 系统的动态特性分析Matlab 提供了求取连续系统的单位阶跃响应函数step 、单位脉冲响应函数impulse 、零输入响应函数initial 以及任意输入下的仿真函数lsim.四、实验容(一) 稳定性1.系统传函为()27243645232345234+++++++++=s s s s s s s s s s G ,试判断其稳定性%Matlab 计算程序num=[3 2 5 4 6];den=[1 3 4 2 7 2];G=tf(num,den);pzmap(G);p=roots(den)2.用Matlab 求出253722)(2342++++++=s s s s s s s G 的极点。
%Matlab 计算程序%求取极点num=[1 2 2];den=[1 7 3 5 2];p=roots(den)(二)阶跃响应1. 二阶系统()102102++=s s s G 1)键入程序,观察并记录单位阶跃响应曲线2)计算系统的闭环根、阻尼比、无阻尼振荡频率,并记录3)记录实际测取的峰值大小、峰值时间及过渡过程时间,并填表:由图1-3及其相关理论知识可填下表:3//πωπ==d p t =1.04724)修改参数,分别实现1=ζ和2=ζ的响应曲线,并记录5)修改参数,分别写出程序实现0121w w n =和022w w n =的响应曲线,并记录 %Matlab 计算程序第1)题:4.52%(00.9)3.55%n s n t ζωζζω⎧∆=⎪⎪=<<⎨⎪∆=⎪⎩%单位阶跃响应曲线clcclearnum=[10];den=[1 2 10];step(num,den);title('Step Response of G(s)=10/(s^2+2s+10)'); hold ont=[0:0.001:6];y1=1.02;plot(t,y1)第2)题:%计算系统的闭环根、阻尼比、无阻尼振荡频率num=[10];den=[1 2 10];G=tf(num,den);[wn,z,p]=damp(G);第4)题:%kosi=1阶跃响应曲线wn=sqrt(10);kosi=1;G=tf([wn*wn],[1 2*kosi*wn wn*wn]);step(G);title('Step Response of kosi=1');%kosi=2的阶跃响应曲线wn=sqrt(10);kosi=2;G=tf([wn*wn],[1 2*kosi*wn wn*wn]);step(G);title('Step Response of kosi=2');第5)题:%wn1=0.5w0的阶跃响应曲线w0=sqrt(10);kosi=1/sqrt(10);wn1=0.5*w0;G=tf([wn1*wn1],[1 2*kosi*wn1 wn1*wn1]); step(G);title('Step Response of wn1=0.5w0');%wn2=2w0的阶跃响应曲线w0=sqrt(10);kosi=1/sqrt(10);wn2=2*w0;G=tf([wn2*wn2],[1 2*kosi*wn2 wn2*wn2]); step(G);title('Step Response of wn2=2w0');2. 作出以下系统的阶跃响应,并与原系统响应曲线进行比较,作出相应的实验分析结果(1)()10210221+++=s s s s G ,有系统零点的情况 (2)()102105.0222++++=s s s s s G ,分子、分母多项式阶数相等(3)()1025.0222+++=s s s s s G ,分子多项式零次项为零 (4)()10222++=s s ss G ,原响应的微分,微分系数为1/10%各系统阶跃响应曲线比较G0=tf([10],[1 2 10]);G1=tf([2 10],[1 2 10]);G2=tf([1 0.5 10],[1 2 10]); G3=tf([1 0.5 0],[1 2 10]);G4=tf([1 0 ],[1 2 10]);step(G0,G1,G2,G3,G4);grid on;title('实验1.2 Step Response 曲线比较');3. 单位阶跃响应:25425)()(2++=s s s R s C 求该系统单位阶跃响应曲线,并在所得图形上加网格线和标题%单位阶跃响应G=tf([25],[1 4 25]);step(G);grid on;title('实验1.3 Step Response of G(s)=25/(s^2+4s+25)');(三)系统动态特性分析用Matlab 求二阶系统12012120)(2++=s s s G 和01.0002.001.0)(2++=s s s G 的峰值时间p t 上升时间r t 调整时间s t 超调量%σ。
%G1阶跃响应G1=tf([120],[1 12 120]);step(G1);grid on;title(' Step Response of G1(s)=120/(s^2+12s+120)');% G2单位阶跃响应G2=tf([0.01],[1 0.002 0.01]);step(G2);grid on;title(' Step Response of G2(s)=0.01/(s^2+10.002s+0.01)');、实验二 MATLAB 及仿真实验(控制系统的根轨迹分析)一 实验目的1.利用计算机完成控制系统的根轨迹作图2.了解控制系统根轨迹图的一般规律3.利用根轨迹图进行系统分析二 预习要点1. 预习什么是系统根轨迹?2. 闭环系统根轨迹绘制规则。
三 实验方法(一) 方法:当系统中的开环增益k 从0到变化时,闭环特征方程的根在复平面上的一组曲线为根轨迹。
设系统的开环传函为:)()()(0s Q s N k s G =,则系统的闭环特征方程为:0)()(1)(10=+=+s Q s N k s G 根轨迹即是描述上面方程的根,随k 变化在复平面的分布。
(二) MATLAB 画根轨迹的函数常用格式:利用Matlab 绘制控制系统的根轨迹主要用pzmap ,rlocus ,rlocfind ,sgrid 函数。
1、零极点图绘制❑ [p,z]=pzmap(a,b,c,d):返回状态空间描述系统的极点矢量和零点矢量,而不在屏幕上绘制出零极点图。
❑ [p,z]=pzmap(num,den):返回传递函数描述系统的极点矢量和零点矢量,而不在屏幕上绘制出零极点图。
❑ pzmap(a,b,c,d)或pzmap(num,den):不带输出参数项,则直接在s 复平面上绘制出系统对应的零极点位置,极点用×表示,零点用o 表示。
❑ pzmap(p,z):根据系统已知的零极点列向量或行向量直接在s 复平面上绘制出对应的零极点位置,极点用×表示,零点用o 表示。
2、根轨迹图绘制❑ rlocus(a,b,c,d)或者rlocus(num,den):根据SISO 开环系统的状态空间描述模型和传递函数模型,直接在屏幕上绘制出系统的根轨迹图。
开环增益的值从零到无穷大变化。
❑ rlocus(a,b,c,d,k)或rlocus(num,den,k): 通过指定开环增益k 的变化围来绘制系统的根轨迹图。
❑ r=rlocus(num,den,k) 或者[r,k]=rlocus(num,den) :不在屏幕上直接绘出系统的根轨迹图,而根据开环增益变化矢量k ,返回闭环系统特征方程1+k*num(s)/den(s)=0的根r ,它有length(k)行,length(den)-1列,每行对应某个k 值时的所有闭环极点。
或者同时返回k 与r 。
❑ 若给出传递函数描述系统的分子项num 为负,则利用rlocus 函数绘制的是系统的零度根轨迹。
(正反馈系统或非最小相位系统)3、rlocfind()函数❑ [k,p]=rlocfind(a,b,c,d)或者[k,p]=rlocfind(num,den)它要求在屏幕上先已经绘制好有关的根轨迹图。
然后,此命令将产生一个光标以用来选择希望的闭环极点。
命令执行结果:k 为对应选择点处根轨迹开环增益;p 为此点处的系统闭环特征根。
❑ 不带输出参数项[k,p]时,同样可以执行,只是此时只将k 的值返回到缺省变量ans中。
4、sgrid()函数❑ sgrid :在现存的屏幕根轨迹或零极点图上绘制出自然振荡频率wn 、阻尼比矢量z对应的格线。
❑ sgrid(‘new ’):是先清屏,再画格线。
❑ sgrid(z,wn):则绘制由用户指定的阻尼比矢量z 、自然振荡频率wn 的格线。
四 实验容1. ()()()21++=s s s k s G g要求:A . 记录根轨迹的起点、终点与根轨迹的条数;B . 确定根轨迹的分离点与相应的根轨迹增益;C . 确定临界稳定时的根轨迹增益gL k%Matlab 计算程序z=[];p=[0 -1 -2];k=1;G=zpk(z,p,k);figure(1);pzmap(G)figure(2);rlocus(G)title('实验2.1所作曲线');%求临界稳定时的根轨迹增益Kglz=[];p=[0 -1 -2];k=1;G=zpk(z,p,k);rlocus(G)title('实验2.1 临界稳定时的根轨迹增益Kgl');[k,p]=rlocfind(G)%求取根轨迹的分离点与相应的根轨迹增益z=[];p=[0 -1 -2];k=1;G=zpk(z,p,k);rlocus(G)title('实验2.1 根轨迹的分离点与相应的根轨迹增益曲线图');[k,p]=rlocfind(G)2.()()23)(++=s s s K s G g 要求:确定系统具有最大超调量时的根轨迹增益;解:当Kg=5.5时,系统具有最大超调量%σ=3.89% ,% Matlab 程序num=5.5*[1 3];den=[1 2 0];G0=tf(num,den);G=feedback(G0,1,-1); step(G)title('实验2.2 系统阶跃响应曲线');3.绘制下列各系统根轨迹图。