南昌大学《MATLAB与控制系统仿真》实验报告
- 格式:doc
- 大小:1.88 MB
- 文档页数:36
MATLAB与控制系统仿真实验报告第一篇:MATLAB与控制系统仿真实验报告《MATLAB与控制系统仿真》实验报告2013-2014学年第 1 学期专业:班级:学号:姓名:实验三 MATLAB图形系统一、实验目的:1.掌握绘制二维图形的常用函数。
2.掌握绘制三维图形的常用函数。
3.熟悉利用图形对象进行绘图操作的方法。
4.掌握绘制图形的辅助操作。
二、实验原理:1,二维数据曲线图(1)绘制单根二维曲线plot(x,y);(2)绘制多根二维曲线plot(x,y)当x是向量,y是有一维与x同维的矩阵时,则绘制多根不同颜色的曲线。
当x,y是同维矩阵时,则以x,y对应列元素为横、纵坐标分别绘制曲线,曲线条数等于矩阵的列数。
(3)含有多个输入参数的plot函数plot(x1,y1,x2,y2,…,xn,yn)(4)具有两个纵坐标标度的图形plotyy(x1,y1,x2,y2)2,图形标注与坐标控制1)title(图形名称);2)xlabel(x轴说明)3)ylabel(y轴说明)4)text(x,y图形说明)5)legend(图例1,图例2,…)6)axis([xmin xmax ymin ymax zmin zmax])3, 图形窗口的分割 subplot(m,n,p)4,三维曲线plot3(x1,y1,z1,选项1,x2,y2,选项2,…,xn,yn,zn,选项n)5,三维曲面mesh(x,y,z,c)与surf(x,y,z,c)。
一般情况下,x,y,z是维数相同的矩阵。
X,y是网格坐标矩阵,z是网格点上的高度矩阵,c用于指定在不同高度下的颜色范围。
6,图像处理1)imread和imwrite函数这两个函数分别用于将图象文件读入matlab工作空间,以及将图象数据和色图数据一起写入一定格式的图象文件。
2)image和imagesc函数这两个函数用于图象显示。
为了保证图象的显示效果,一般还应使用colormap函数设置图象色图。
控制系统matlab仿真实验报告5实验内容:本实验主要学习控制系统中PI控制器的设计和仿真。
实验目的:1. 了解PI控制器的基本原理和控制算法;2. 学习控制系统建模的基本思路和方法;3. 通过matlab仿真实验掌握PI控制器的实现方法和调节技巧。
实验原理:PI控制器是一种比比例控制器更加完善的控制器,它是由比例控制器和积分控制器组成的复合控制器。
在控制器设计中,通常情况下采用PI控制器进行设计,因为PI控制器的设计参数比其他控制器更加简单,调整起来也更加方便。
PI控制器的输出信号u(t)可以表示为:u(t) = kP(e(t) + 1/Ti ∫e(τ)dτ)其中,kP是比例系数;Ti是积分时间常数;e(t)是控制系统的误差信号,表示偏差;∫e(τ)dτ是误差信号的积分项。
上式中,第一项kPe(t)是比例控制器的输出信号,它与偏差信号e(t)成比例关系,当偏差信号e(t)越大,则输出信号u(t)也越大;PI控制器的设计步骤如下:1. 根据控制系统的特性和要求,选择合适的控制对象,并进行建模;2. 选择比例系数kP和积分时间常数Ti,使系统具有良好的动态响应和稳态响应;3. 利用matlab仿真实验验证控制系统的性能,并进行参数调节和改进。
实验步骤:1. 控制对象的建模a. 选择一个适当的控制对象,例如在本实验中选择一个RC电路。
b. 根据控制对象的特性和运行原理,建立控制对象的数学模型,例如在本实验中建立RC电路的微分方程模型。
a. 根据控制对象的特性和要求,选择合适的比例系数kP和积分时间常数Ti,例如在本实验中选择kP=1和Ti=0.1。
b. 根据PI控制器的输出信号,设计控制系统的反馈环路,例如在本实验中选择负反馈控制系统。
a. 在matlab环境下,利用matlab的控制系统工具箱,建立控制系统的仿真模型。
b. 运行仿真程序,并观察控制系统的时间响应和频率响应特性。
实验结果:本实验利用matlab环境下的控制系统工具箱,建立了RC电路的PI控制系统,并进行了仿真实验。
实验报告实验课程: MATLAB与控制系统仿真姓名:学号:专业班级:2016年 6月目录实验一 MATLAB的环境与基本运算(一)实验二 MATLAB的环境与基本运算(二)实验三 MATLAB语言的程序设计实验四 MATLAB的图形绘制实验五基于SIMULINK的系统仿真实验六控制系统的频域与时域分析实验七控制系统PID校正器设计法实验八线性方程组求解及函数求极值实验一 MATLAB的环境与基本运算(一)一、实验目的1.熟悉MATLAB开发环境2.掌握矩阵、变量、表达式的各种基本运算二、实验基本原理1.熟悉MATLAB环境:MATLAB桌面和命令窗口、命令历史窗口、帮助信息浏览器、工作空间浏览器、文件和搜索路径浏览器。
2.掌握MA TLAB常用命令表1 MA TLAB常用命令3.MATLAB变量与运算符3.1变量命名规则3.2 MATLAB的各种常用运算符表2 MA TLAB算术运算符表4 MATLAB逻辑运算符表5 MATLAB特殊运算4.MATLAB的一维、二维数组的寻访表6 子数组访问与赋值常用的相关指令格式三、主要仪器设备及耗材计算机四、实验内容1.新建一个文件夹(自己的名字命名,在机器的最后一个盘符)2.启动MATLAB,将该文件夹添加到MATLAB路径管理器中。
3.学习使用help命令。
4.窗口命令● close● close all● clc● hold on● hold off了解其功能和作用,观察command window、command history和workspace等窗口的变化结果。
5.工作空间管理命令● who● whos● clear6.随机生成一个2×6的矩阵,写出实现矩阵左旋(以第1行第1列为中心逆时针)90°或右旋(顺时针)90°的命令。
左旋:rot90(a);右旋:rot90(flipud(fliplr(a)))(先左右翻转,上下翻转,在左旋90°)7.求高阶方程的的根,求高阶多项式的值。
《MATLAB与控制系统仿真》实验报告一、实验目的本实验旨在通过MATLAB软件进行控制系统的仿真,并通过仿真结果分析控制系统的性能。
二、实验器材1.计算机2.MATLAB软件三、实验内容1.搭建控制系统模型在MATLAB软件中,通过使用控制系统工具箱,我们可以搭建不同类型的控制系统模型。
本实验中我们选择了一个简单的比例控制系统模型。
2.设定输入信号我们需要为控制系统提供输入信号进行仿真。
在MATLAB中,我们可以使用信号工具箱来产生不同类型的信号。
本实验中,我们选择了一个阶跃信号作为输入信号。
3.运行仿真通过设置模型参数、输入信号以及仿真时间等相关参数后,我们可以运行仿真。
MATLAB会根据系统模型和输入信号产生输出信号,并显示在仿真界面上。
4.分析控制系统性能根据仿真结果,我们可以对控制系统的性能进行分析。
常见的性能指标包括系统的稳态误差、超调量、响应时间等。
四、实验步骤1. 打开MATLAB软件,并在命令窗口中输入“controlSystemDesigner”命令,打开控制系统工具箱。
2.在控制系统工具箱中选择比例控制器模型,并设置相应的增益参数。
3.在信号工具箱中选择阶跃信号,并设置相应的幅值和起始时间。
4.在仿真界面中设置仿真时间,并点击运行按钮,开始仿真。
5.根据仿真结果,分析控制系统的性能指标,并记录下相应的数值,并根据数值进行分析和讨论。
五、实验结果与分析根据运行仿真获得的结果,我们可以得到控制系统的输出信号曲线。
通过观察输出信号的稳态值、超调量、响应时间等性能指标,我们可以对控制系统的性能进行分析和评价。
六、实验总结通过本次实验,我们学习了如何使用MATLAB软件进行控制系统仿真,并提取控制系统的性能指标。
通过实验,我们可以更加直观地理解控制系统的工作原理,为控制系统设计和分析提供了重要的工具和思路。
七、实验心得通过本次实验,我深刻理解了控制系统仿真的重要性和必要性。
MATLAB软件提供了强大的仿真工具和功能,能够帮助我们更好地理解和分析控制系统的性能。
实验报告实验课程: MATLAB与控制系统仿真姓名:学号:专业班级:2016年 6月目录实验一 MATLAB的环境与基本运算(一)实验二 MATLAB的环境与基本运算(二)实验三 MATLAB语言的程序设计实验四 MATLAB的图形绘制实验五基于SIMULINK的系统仿真实验六控制系统的频域与时域分析实验七控制系统PID校正器设计法实验八线性方程组求解及函数求极值实验一 MATLAB的环境与基本运算(一)一、实验目的1.熟悉MATLAB开发环境2.掌握矩阵、变量、表达式的各种基本运算二、实验基本原理1.熟悉MATLAB环境:MATLAB桌面和命令窗口、命令历史窗口、帮助信息浏览器、工作空间浏览器、文件和搜索路径浏览器。
2.掌握MATLAB常用命令表1 MATLAB常用命令3.MATLAB变量与运算符3.1变量命名规则3.2 MATLAB的各种常用运算符表2 MATLAB算术运算符表3 MATLAB关系运算符表4 MATLAB逻辑运算符符号功能说明示例符号功能说明示例:1:1:4;1:2:11 .;分隔行..,分隔列…()% 注释[] 构成向量、矩阵!调用操作系统命令{} 构成单元数组= 用于赋值4.MATLAB的一维、二维数组的寻访表6 子数组访问与赋值常用的相关指令格式三、主要仪器设备及耗材计算机四、实验容1.新建一个文件夹(自己的名字命名,在机器的最后一个盘符)2.启动MATLAB,将该文件夹添加到MATLAB路径管理器中。
3.学习使用help命令。
4.窗口命令closeclose allclchold onhold off了解其功能和作用,观察command window、command history和workspace等窗口的变化结果。
5.工作空间管理命令whowhosclear6.随机生成一个2×6的矩阵,写出实现矩阵左旋(以第1行第1列为中心逆时针)90°或右旋(顺时针)90°的命令。
MATLAB/Simulink与控制系统仿真实验报告姓名:喻彬彬学号:K031541725实验1、MATLAB/Simulink 仿真基础及控制系统模型的建立一、实验目的1、掌握MATLAB/Simulink 仿真的基本知识;2、熟练应用MATLAB 软件建立控制系统模型。
二、实验设备电脑一台;MATLAB 仿真软件一个三、实验内容1、熟悉MATLAB/Smulink 仿真软件。
2、一个单位负反馈二阶系统,其开环传递函数为210()3G s s s =+。
用Simulink 建立该控制系统模型,用示波器观察模型的阶跃响应曲线,并将阶跃响应曲线导入到MATLAB 的工作空间中,在命令窗口绘制该模型的阶跃响应曲线。
3、某控制系统的传递函数为()()()1()Y s G s X s G s =+,其中250()23s G s s s+=+。
用Simulink 建立该控制系统模型,用示波器观察模型的阶跃响应曲线,并将阶跃响应曲线导入到MATLAB 的工作空间中,在命令窗口绘制该模型的阶跃响应曲线。
4、一闭环系统结构如图所示,其中系统前向通道的传递函数为320.520()0.11220s G s s s s s+=+++,而且前向通道有一个[-0.2,0.5]的限幅环节,图中用N 表示,反馈通道的增益为1.5,系统为负反馈,阶跃输入经1.5倍的增益作用到系统。
用Simulink 建立该控制系统模型,用示波器观察模型的阶跃响应曲线,并将阶跃响应曲线导入到MATLAB 的工作空间中,在命令窗口绘制该模型的阶跃响应曲线。
四、实验报告要求实验报告撰写应包括实验名称、实验内容、实验要求、实验步骤、实验结果及分析和实验体会。
五、实验思考题总结仿真模型构建及调试过程中的心得体会。
题1、(1)利用Simulink的Library窗口中的【File】→【New】,打开一个新的模型窗口。
(2)分别从信号源库(Sourse)、输出方式库(Sink)、数学运算库(Math)、连续系统库(Continuous)中,用鼠标把阶跃信号发生器(Step)、示波器(Scope)、传递函数(Transfern Fcn)和相加器(Sum)4个标准功能模块选中,并将其拖至模型窗口。
《MATLAB与控制系统仿真》实验报告实验报告:MATLAB与控制系统仿真引言在现代控制工程领域中,仿真是一种重要的评估和调试工具。
通过仿真技术,可以更加准确地分析和预测控制系统的行为和性能,从而优化系统设计和改进控制策略。
MATLAB是一种强大的数值计算软件,广泛应用于控制系统仿真。
实验目的本实验旨在掌握MATLAB在控制系统仿真中的应用,通过实践了解控制系统的建模与仿真方法,并分析系统的稳定性和性能指标。
实验内容1.建立系统模型首先,根据控制系统的实际情况,建立系统的数学模型。
通常,控制系统可以利用线性方程或差分方程进行建模。
本次实验以一个二阶控制系统为例,其传递函数为:G(s) = K / [s^2 + 2ζω_ns + ω_n^2],其中,K表示放大比例,ζ表示阻尼比,ω_n表示自然频率。
2.进行系统仿真利用MATLAB软件,通过编写代码实现控制系统的仿真。
可以利用MATLAB提供的函数来定义传递函数,并通过调整参数来模拟不同的系统行为。
例如,可以利用step函数绘制控制系统的阶跃响应图像,或利用impulse函数绘制脉冲响应图像。
3.分析系统的稳定性与性能在仿真过程中,可以通过调整控制系统的参数来分析系统的稳定性和性能。
例如,可以改变放大比例K来观察系统的超调量和调整时间的变化。
通过观察控制系统的响应曲线,可以判断系统的稳定性,并计算出性能指标,如超调量、调整时间和稳态误差等。
实验结果与分析通过MATLAB的仿真,我们得到了控制系统的阶跃响应图像和脉冲响应图像。
通过观察阶跃响应曲线,我们可以得到控制系统的超调量和调整时间。
通过改变放大比例K的值,我们可以观察到超调量的变化趋势。
同时,通过观察脉冲响应曲线,我们还可以得到控制系统的稳态误差,并判断系统的稳定性。
根据实验结果分析,我们可以得出以下结论:1.控制系统的超调量随着放大比例K的增大而增大,但当K超过一定值后,超调量开始减小。
2.控制系统的调整时间随着放大比例K的增大而减小,即系统的响应速度加快。
南昌大学《MATLAB与控制系统仿真》实验报告实验报告实验课程: MATLAB与控制系统仿真姓名:学号:专业班级:2016年 6月目录实验一 MATLAB的环境与基本运算(一)实验二 MATLAB的环境与基本运算(二)实验三 MATLAB语言的程序设计实验四 MATLAB的图形绘制实验五基于SIMULINK的系统仿真实验六控制系统的频域与时域分析实验七控制系统PID校正器设计法实验八线性方程组求解及函数求极值实验一 MATLAB的环境与基本运算(一)一、实验目的1.熟悉MATLAB开发环境2.掌握矩阵、变量、表达式的各种基本运算二、实验基本原理1.熟悉MATLAB环境:MATLAB桌面和命令窗口、命令历史窗口、帮助信息浏览器、工作空间浏览器、文件和搜索路径浏览器。
2.掌握MATLAB常用命令表1 MATLAB常用命令3.MATLAB变量与运算符3.1变量命名规则3.2 MATLAB的各种常用运算符表2 MATLAB算术运算符表 3MATLAB 关系运算符表4 MATLAB 逻辑运算符表5 MATLAB 特殊运算[] 构成向量、矩阵!调用操作系统命令{} 构成单元数组= 用于赋值4.MATLAB的一维、二维数组的寻访表6 子数组访问与赋值常用的相关指令格式三、主要仪器设备及耗材计算机四、实验内容1.新建一个文件夹(自己的名字命名,在机器的最后一个盘符)2.启动MATLAB,将该文件夹添加到MATLAB路径管理器中。
3.学习使用help命令。
4.窗口命令close● close all● clc● hold on● hold off了解其功能和作用,观察command window、command history和workspace等窗口的变化结果。
5.工作空间管理命令● who● whos● clear6.随机生成一个2×6的矩阵,写出实现矩阵左旋(以第1行第1列为中心逆时针)90°或右旋(顺时针)90°的命令。
控制系统仿真 实验报告实验4.基于MATLAB 的时域分析班级:09自动化 报告人:张家明 完成时间:2012-11-16 1.已知系统传递函数如下,1)用MA TLAB 建立系统模型并将所建立的系统模型相互转换为tf 、zpk 或ss 形式。
2)通过连接函数的方式实现系统G1和G2的串联和并联1).程序:z=[-2]; %G1(s) p=[-0.4,-15,-25]; k=18; sys1=zpk(z,p,k) [num,den]=zp2tf(z,p,k); sys2=tf(num,den) [A,B,C,D]=zp2ss(z,p,k) sys3=ss(A,B,C,D)运行结果; Zero/pole/gain: 18 (s+2) --------------------- (s+0.4) (s+15) (s+25)Transfer function: 18 s + 36 ---------------------------- s^3 + 40.4 s^2 + 391 s + 150 a =[]36018000101011501394.40)3(==⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡---=D C B Ax1 x2 x3 x1 -0.4 0 0x2 1.6 -40 -19.36x3 0 19.36 0b =u1x1 1x2 1x3 0c =x1 x2 x3 y1 0 0 0.9295d =u1y1 0程序:num=[1,2]; %G2(S) den=[1,1,10];sys1=tf(num,den)[z,p,k]=tf2zp(num,den)sys2=zpk(z,p,k)[A,B,C,D]=tf2ss(num,den)sys3=ss(A,B,C,D)运行结果:Transfer function:s + 2------------s^2 + s + 10Zero/pole/gain:(s+2)---------------(s^2 + s + 10)a =x1 x2x1 -1 -10x2 1 0b =u1x1 1x2 0c =x1 x2y1 1 2d =u1y1 0程序:A=[-40.4 -139 -150;1 0 0;0 1 0]; B=[1;0;0];C=[0 18 360];D=0;sys1=ss(A,B,C,D)[num,den]=ss2tf(A,B,C,D);sys2=tf(num,den)[z,p,k]=ss2zp(A,B,C,D);sys3=zpk(z,p,k)运行结果:a =x1 x2 x3 x1 -40.4 -139 -150x2 1 0 0x3 0 1 0b =u1x1 1x2 0x3 0c =x1 x2 x3y1 0 18 360d =u1y1 0Continuous-time model.Transfer function:18 s + 360----------------------------s^3 + 40.4 s^2 + 139 s + 150Zero/pole/gain:18 (s+20)---------------------------------(s+36.73) (s^2 + 3.674s + 4.084)2).程序:clcz=[-2]; %G1(s)p=[-0.4,-15,-25];k=18;sys1=zpk(z,p,k);num=[1,2]; %G2(S)den=[1,1,10];sys2=tf(num,den);sys=series(sys1,sys2)tf(sys)sys=parallel(sys1,sys2)tf(sys)运行结果Zero/pole/gain:18 (s+2)^2----------------------------------------------- (s+15) (s+25) (s+0.4) (s^2 + s + 10)Transfer function:18 s^2 + 72 s + 72-----------------------------------------------------------------s^5 + 41.4 s^4 + 441.4 s^3 + 945 s^2 + 4060 s + 1500Zero/pole/gain:(s+50.42) (s+7.055) (s+2) (s+0.9278)-----------------------------------------------(s+0.4) (s+15) (s+25) (s^2 + s + 10)Transfer function:s^4 + 60.4 s^3 + 525.8 s^2 + 1148 s + 660------------------------------------------------------------------s^5 + 41.4 s^4 + 441.4 s^3 + 945 s^2 + 4060 s + 15002. 使用2种以上的方法判断以下系统的稳定性(1).方法一:程序:clcnumo=[1];deno=[1 1 2 23];[numc,denc]=cloop(numo,deno)[z,p,k]=tf2zp(numc,denc)i=find(real(p)>0)n=length(i)if n>0disp('system is unstable')elsedisp('system is stable')end运行结果:numc =0 0 0 1denc =1 12 24z =Empty matrix: 0-by-1p =-3.00001.0000 +2.6458i1.0000 -2.6458ik =1i =23n =2system is unstable(2).方法二:程序:clcnumo=[1];deno=[1 1 2 23];[numc,denc]=cloop(numo,deno,-1) pzmap(numc,denc)运行结果:P ole-Zero MapReal AxisI m a g i n a r y A x i s-3.5-3-2.5-2-1.5-1-0.500.51-3-2-11233. 已知2输入2输出系统状态方程如下, 1) 试求系统的传递函数。
实验一MATLAB基本操作与矩阵运算一、实验目的1、熟悉Matlab软件的基本操作方法2、掌握Matlab矩阵和数组的基本运算3、了解Matlab的常用函数的使用方法二、实验学时:2学时三、实验原理MATLAB环境是一种为数值计算、数据分析和图形显示服务的交互式的环境。
打开MATLAB软件弹出如图1-1所示的图形窗口。
MATLAB有3种子窗口,即:命令窗口(Command Window)、m-文件编辑窗口(Edit Window)和图形窗口(Figure Window)。
图1-1 MATLAB R2008a基本界面1.命令窗口(The Command Window)当MATLAB 启动后,出现的最大的窗口就是命令窗口。
用户可以在提示符“>>”后面输入交互的命令,这些命令就立即被执行。
在MATLAB 中,一连串命令可以放置在一个文件中,不必把它们直接在命令窗口内输入。
在命令窗口中输入该文件名,这一连串命令就被执行了。
因为这样的文件都是以“.m ”为后缀,所以称为m-文件。
2.m-文件编辑窗口(The Edit Window )我们可以用m-文件编辑窗口来产生新的m-文件,或者编辑已经存在的m-文件。
在MATLAB 主界面上选择菜单“File/New/M-file ”就打开了一个新的m-文件编辑窗口;选择菜单“File/Open ”就可以打开一个已经存在的m-文件,并且可以在这个窗口中编辑这个m-文件。
3.图形窗口(The Figure Window )图形窗口用来显示MATLAB 程序产生的图形。
图形可以是2维的、3维的数据图形,或其它棒状图、极坐标图等。
MATLAB 常用操作命令和运算符如下:clear ——清除工作空间变量clc ——清除命令窗口内容path ——设置路径cd ——设置当前目录符+——矩阵的加法运算符-——矩阵的减法运算符*——矩阵的乘法运算符\——矩阵的左除运算符/——矩阵的右除运算符^——矩阵的乘方linspace ——产生线性等分向量inv ——矩阵求逆poly ——创建多项式polyval ——多项式求值polyfit ——多项式拟合四、实验内容1.自由练习Matlab 软件的操作2、已知矩阵 A=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡987654321。
《MATLAB与控制系统仿真》实验报告(2013年第三版)西安邮电大学自动化学院周一06114067(23)实验三 MATLAB图形系统一、实验目的1.掌握绘制二维图形的常用函数。
2.掌握绘制三维图形的常用函数。
3.熟悉利用图形对象进行绘图操作的方法。
4.掌握绘制图形的辅助操作。
二、实验原理1,二维数据曲线图(1)绘制单根二维曲线plot(x,y);(2)绘制多根二维曲线plot(x,y) 当x是向量,y是有一维与x同维的矩阵时,则绘制多根不同颜色的曲线。
当x,y是同维矩阵时,则以x,y对应列元素为横、纵坐标分别绘制曲线,曲线条数等于矩阵的列数。
(3)含有多个输入参数的plot函数plot(x1,y1,x2,y2,…,xn,yn)(4)具有两个纵坐标标度的图形plotyy(x1,y1,x2,y2)2,图形标注与坐标控制1)title (图形名称);2)xlabel(x轴说明)3)ylabel(y轴说明)4)text(x,y图形说明)5)legend(图例1,图例2,…)6)axis ([xmin xmax ymin ymax zmin zmax])3, 图形窗口的分割subplot (m,n,p )4,三维曲线plot3(x1,y1,z1,选项1,x2,y2,选项2,…,xn,yn,zn,选项n )5,三维曲面mesh(x,y,z,c) 与surf(x,y,z,c)。
一般情况下,x ,y ,z 是维数相同的矩阵。
X ,y 是网格坐标矩阵,z 是网格点上的高度矩阵,c 用于指定在不同高度下的颜色范围。
6,图像处理1) imread 和imwrite 函数 这两个函数分别用于将图象文件读入matlab工作空间,以及将图象数据和色图数据一起写入一定格式的图象文件。
2) image 和imagesc 函数 这两个函数用于图象显示。
为了保证图象的显示效果,一般还应使用colormap 函数设置图象色图。
南昌大学实验报告学生姓名:学号:专业班级:实验类型:■验证□综合□设计□创新实验日期:2014.05.13 实验成绩:一、实验项目名称实验七控制系统PID校正器设计法二、实验目的1.熟悉常规PID控制器的设计方法2.掌握PID参数的调节规律3.学习编写程序求系统的动态性能指标三、实验基本原理1.模拟PID 控制器典型的PID 控制结构如图1 所示。
PID 调节器的数学描述为2.数字PID 控制器在计算机PID 控制中,连续PID 控制算法不能直接使用,需要采用离散化方法,通常使用数字PID 控制器。
以一系列采样时刻点kT(T为采样周期)代表连续时间t,以矩形法数值积分近似代替积分,以一阶后向差分近似代替微分,即:离散PID 表达式:四、主要仪器设备及耗材计算机五、实验程序及结果1.在SIMULINK窗口建立如下模型2.修改PID参数Kp、Ti和Td,讨论参数对系统的影响。
3.根据PID参数Kp、Ti和Td对系统的影响,调节PID参数实现系统的超调量小于10%。
上图的PID参数Kp Ti Td数值 6 6 2.54.通过程序求得系统的超调量、上升时间和调节时间(误差带选为5%)。
答:计算得出M=92.7299 p=0.0924 tp=2.5103 tr=1.8008 ts=3.4543 yss=84.8827程序:%system analyse%M maxmun%p over%tp maxmun-time%ts transition-time%tr rise_time%yss stablefunction[M,p,tp,tr,ts,yss]=sys_ana(t,y);tm=length(t);yss=y(tm);[M tpk]=max(y);tp=t(tpk);p=(M-yss)/yss;while (y(tm)>0.95*yss)&(y(tm)<yss*1.05)tm=tm-1;endts=t(tm);k=1;while y(k)<=yss*0.98k=k+1;endtr=t(k);5.将输入信号设为r(k ) = 0.50sin(2πt),调节PID控制器参数,绘制正弦跟踪曲线。
MATLAB实验报告姓名北弟学号*********班级机制***班目录实验一熟悉MATLAB环境认识MATLAB——————————3 实验二MATLAB运算基础————————————————5 实验三MATLAB矩阵分析和处理——————————————7 实验四求余弦的积分并绘出图像——————————————10实验五、六用matlab求解多项式并用plot绘制函数图象(常微分方程)——————————12实验七函数文件————————————————————14 实验八、九 MATLAB程序设计(循环、选择)————————16实验十采用SIMULINK的系统仿真—————————————18 实验十一菜单设计———————————————————20实验一 熟悉MATLAB 环境认识MATLAB一、 实验目的熟悉matlab 的安装与启动;熟悉matlab 用户界面;熟悉matlab 功能、建模元素;熟悉matlab 优化建模过程。
二、 实验设备与仪器1.微机2.matlab 仿真软件三、 实验步骤1. 了解matlab 的硬件和软件必备环境;2. 启动matlab ;3. 熟悉标题栏,菜单栏,工具栏,元素选择窗口,状态栏,控制栏以及系统布局区;4. 学习优化建模过程。
四、 实验报告要求1. 写出matlab 系统界面的各个构成;以及系统布局区的组成;以及每一部分的功能;2. 优化建模过程应用举例五、实验内容(一)、Matlab 操作界面1. 命令窗口(command window )2. 命令历史窗口(command history )3. 工作空间管理窗口(workspace )4. 当前路径窗口(current directory )(二)、实现下列优化建模过程1、简单矩阵⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=987654321A 的输入步骤。
A=[1 2 3;4 5 6;7 8 9];2、矩阵的分行输入。
实验总要求1、封面必须注明实验名称、实验时间和实验地点,实验人员班级、学号(全号)和姓名等。
2、内容方面:注明实验所用设备、仪器及实验步骤方法;记录清楚实验所得的原始数据和图像,并按实验要求绘制相关图表、曲线或计算相关数据;认真分析所得实验结果,得出明确实验结论。
3、图形可以打印出来并剪贴上去,文字必须用标准试验纸手写。
实验一MATLAB绘图基础一、实验目的了解MATLAB常用命令和常见的内建函数使用。
熟悉矩阵基本运算以及点运算。
掌握MATLAB绘图的基本操作:向量初始化、向量基本运算、绘图命令plot,plot3,mesh,surf 使用、绘制多个图形的方法。
二、实验内容建立并执行M文件multi_plot.m,使之画出如图的曲线。
三、实验方法(参考程序)024681012Plot of y=sin(2x) and its derivative四、实验要求1. 分析给出的MA TLAB 参考程序,理解MA TLAB 程序设计的思维方法及其结构。
2. 添加或更改程序中的指令和参数,预想其效果并验证,并对各语句做出详细注释。
对不熟悉的指令可通过HELP 查看帮助文件了解其使用方法。
达到熟悉MA TLAB 画图操作的目的。
3. 总结MATLAB 中常用指令的作用及其调用格式。
五、实验思考1、实现同时画出多图还有其它方法,请思考怎样实现,并给出一种实现方法。
(参考程序如下)t=0:pi/100:4*pi;y1=sin(2*t);y2=2*cos(2*t);plot(t,y1,'-b');hold on; %保持原图plot(t,y2,'-g');grid onaxis([0 4*pi -2 2])title('Plot of y=sin(2x) and its derivative')Plot of y=sin(2x) and its deriv ativ e024681012024681012-2-1012xyPlot of y=sin(2x)024681012-2-1012xyPlot derivative of y=sin(2x);y=2cos(2x)t=0:pi/100:4*pi; y1=sin(2*t); y2=2*cos(2*t);024681012-2-1.5-1-0.500.511.52Plot of y=sin(2x) and its deriv ativ et=0:pi/100:4*pi; y1=sin(2*t); y2=2*cos(2*t); plot(t,y1,'r--'); hold on ;plot(t,y2,'-b'); grid onaxis([0 4*pi -2 2])title('Plot of y=sin(2x) and its derivative')2468101214Plot of y=sin(2x)xyPlot of y=sin(2x) and its deriv ativ exyt=0:pi/100:4*pi; y1=sin(2*t); y2=2*cos(2*t); plot(t,y1,'r--');title('Plot of y=sin(2x)'); xlabel('x'),ylabel('y'); figure(2) plot(t,y2,'-b');title('Plot of y=sin(2x) and its derivative') xlabel('x'),ylabel('y'); grid onaxis([0 4*pi -2 2])2、思考三维曲线(plot3)与曲面(mesh, surf)的用法,(1)绘制参数方程233,)3cos(,)3sin()(t z e t t y e t t t x t t ===--的三维曲线;t=0:pi/30:10*pi;plot3(t.^3.*sin(3.*t).*exp(-t),t.^3.*cos(3.*t).*exp(-t),t.^2);2(2)绘制二元函数xyy xe x x y xf z ----==22)2(),(2,在XOY 平面内选择一个区域(-3:0.1:3,-2:0.1:2),然后绘制出其三维表面图形。
实验报告实验课程: MATLAB与控制系统仿真姓名:学号:专业班级:2016年 6月目录实验一 MATLAB的环境与基本运算(一)实验二 MATLAB的环境与基本运算(二)实验三 MATLAB语言的程序设计实验四 MATLAB的图形绘制实验五基于SIMULINK的系统仿真实验六控制系统的频域与时域分析实验七控制系统PID校正器设计法实验八线性方程组求解及函数求极值实验一 MATLAB的环境与基本运算(一)一、实验目的1.熟悉MATLAB开发环境2.掌握矩阵、变量、表达式的各种基本运算二、实验基本原理1.熟悉MATLAB环境:MATLAB桌面和命令窗口、命令历史窗口、帮助信息浏览器、工作空间浏览器、文件和搜索路径浏览器。
2.掌握MA TLAB常用命令表1 MA TLAB常用命令3.MATLAB变量与运算符3.1变量命名规则3.2 MATLAB的各种常用运算符表2 MA TLAB算术运算符表4 MATLAB逻辑运算符Xor 逻辑异或表5 MATLAB特殊运算符号功能说明示例符号功能说明示例:1:1:4;1:2:11 .;分隔行..,分隔列…()% 注释[] 构成向量、矩阵!调用操作系统命令{} 构成单元数组= 用于赋值4.MATLAB的一维、二维数组的寻访表6 子数组访问与赋值常用的相关指令格式三、主要仪器设备及耗材计算机四、实验内容1.新建一个文件夹(自己的名字命名,在机器的最后一个盘符)2.启动MATLAB,将该文件夹添加到MATLAB路径管理器中。
3.学习使用help命令。
4.窗口命令● close● close all● clc● hold on● hold off了解其功能和作用,观察command window、command history和workspace等窗口的变化结果。
5.工作空间管理命令● who● whos● clear6.随机生成一个2×6的矩阵,写出实现矩阵左旋(以第1行第1列为中心逆时针)90°或右旋(顺时针)90°的命令。
左旋:rot90(a);右旋:rot90(flipud(fliplr(a)))(先左右翻转,上下翻转,在左旋90°)7.求高阶方程的的根,求高阶多项式的值。
8.创建一个二维数组A(4×8)。
查询数组A第2行、第3列的元素;查询数组A第2行的所有元素;查询数组A第6列的所有元素;查询数组A按列拉长形成新的数组B;查询数组A按行拉长形成新的数组C。
查询数组A按列拉长形成新的数组B:B=A(:)查询数组A按行拉长形成新的数组C:B=A’;D=B(:);C=D’五、实验程序及结果1、新建一个文件夹(自己的名字命名,在机器的最后一个盘符)2、启动MATLAB,将该文件夹添加到MATLAB路径管理器中。
3、学习使用help命令。
4、窗口命令● close● close all● clc● hold on● hold off5、工作空间管理命令● who● whos● clear3、程序如下:%随机生成一个2×6的矩阵a=rand(2,6)%左旋90度a1=rot90(a)%右旋90度a2=rot90(flipud(fliplr(a)))%创建一个二维数组A(4×8)。
查询数组A第2行、第3列的元素;查询数组A第2行的所有元素;%查询数组A第6列的所有元素;查询数组A按列拉长形成新的数组B;查询数组A按行拉长形成新的数组CA=[1 2 3 4 5 6 7 8;9 10 11 12 13 14 15 16; 17 18 19 20 21 22 23 24;25 26 27 28 29 30 31 32 ];A1=A(2,3)A2=A(2,:)A3=A(:,6)B=A(:)B1=A';D=B1(:);C=D'求高阶方程的的根,求高阶多项式的值。
六、实验总结通过第一次做实验,熟悉了一些的基本功能。
掌握矩阵、变量、表达式的各种基本运算,让自己感觉到了MATLAB功能的强大,因此我们必须学习使用这个软件,让它更好的为我们服务。
实验二 MATLAB的环境与基本运算(二)一、实验目的1.熟悉MATLAB开发环境2.掌握矩阵、变量、表达式的各种基本运算二、实验基本原理1.MATLAB的基本运算表1两种运算指令形式和实质内涵的异同表2.MA TLAB的常用函数三、实验内容1.设有3个二维数组A(2×4),B(2×4),C(2×2),参照表1写出所有由2个数组参与的合法的数组运算和矩阵指令及结果。
2.学习使用表2列出的常用函数。
3.学习使用表3列出的数组操作函数。
4.生成下列矩阵,并取出方框内的数组元素四、主要仪器设备及耗材计算机五、实验程序及结果实验程序:%1、设有3个二维数组A(2×4),B(2×4),C(2×2),参照表1写出所有由2个数组参与的合法的数组运算和矩阵指令及结果。
A=[1 2 3 4;5 6 7 8];B=[9 10 11 12;13 14 15 16];C=[17 18;19 20];s=30;n=5;p=1.2;A.'A=ss+Bs-BB-ss.*As./BB./sA.^nA.^pA+BA-BA.*BA./BB.\Aexp(A)log(A)sqrt(A)A's*As*inv(C)A^nA^pA*BA/BB\Aexpm(A)logm(A)sqrtm(A)diag(C)eye(4)magic(5)ones(5)ones(4,5)rand(6)rand(6,2)randn(3)randn(3,6)zeros(5)zeros(3,7)size(C)rot90(B)det(C)rank(C)%4、生成一个指定的矩阵,并按要求取出其中的数组元素方法一D=[1:5;10:-1:6;11:15;16:20;21:25] D(2,2:3) D(2:4,4) D(4:5,1:3)方法二 六、实验总结在第一次实验的基础上,自己这次实验要相对上一次比较顺利,一些基本功能也能更好的掌握,但是对matlab 这个软件的强大功能还不能很好的应用,因此我要加强对该软件的学习,让它更好的处理各个学科的知识,总而言之,这次实验的收获还是比较大的。
>>A=[1,2,3,4,5;10,9,8,7,6;11,12,13,14,15;16,17,18,19,20] A = 1 2 3 4 5 10 9 8 7 6 11 12 13 14 15 16 17 18 19 20>> A(2,2:3)ans =9 8>> A(2:4,4)ans = 7 1419>> A(4:5,1:3) ans=16 17 18 21 22 23实验三 MATLAB语言的程序设计一、实验目的1.熟悉MATLAB程序编辑与设计环境2.掌握各种编程语句语法规则及程序设计方法3.函数文件的编写和设计4.了解和熟悉跨空间变量传递和赋值二、实验基本原理1.程序流程控制语句for循环结构语法:for i=初值:增量:终值语句1……语句nend说明:1.i=初值:终值,则增量为1。
2.初值、增量、终值可正可负,可以是整数,也可以是小数,只须符合数学逻辑。
while 循环结构语法:while 逻辑表达式循环体语句end说明:(1)whiIe结构依据逻辑表达式的值判断是否执行循环体语勾。
若表达式的值为真,执行循环体语句一次、在反复执行时,每次都要进行判断。
若表达式的值为假,则程序执行end之后的语句。
(2)为了避免因逻辑上的失误,而陷入死循环,建议在循环体语句的适当位置加break语句、以便程序能正常执行。
(执行循环体的次数不确定;每一次执行循环体后,一定会改变while后面所跟关系式的值。
)(3)while循环也可以嵌套、其结构如下:while逻辑表达式1循环体语句1while逻辑表达式2循环体语句2end循环体语句3endif-else-end分支结构if 表达式1语句1else if 表达式2(可选)语句2else(可选)语句3endend说明:(1)if结构是一个条件分支语句,若满足表达式的条件,则往下执行;若不满足,则跳出if 结构。
(2)else if表达式2与else为可选项,这两条语句可依据具体情况取舍。
(3)注意:每一个if都对应一个end,即有几个if,记就应有几个end。
switch-case结构语法:switch表达式case常量表达式1语句组1case常量表达式2语句组2……otherwise语句组nend说明:(1)switch后面的表达式可以是任何类型,如数字、字符串等。
(2)当表达式的值与case后面常量表达式的值相等时,就执行这个case后面的语句组如果所有的常量表达式的值都与这个表达式的值不相等时,则执行otherwise后的执行语句。
程序流程控制指令break、return、pause2.函数文件的结构和编写方法函数只能在函数体内对变量进行操作,也就是只能访问函数本身工作空间中的变量。
M函数文件的结构(1)函数定义行(function)(2)H1行(函数帮助文本的第一行)(3)函数帮助文本(4)函数体(5)注释函数文件编写后,保存时,其文件名必须与函数名相同。
注意:函数名不要与MATLAB自身的函数命令相同。
三、主要仪器设备及耗材计算机四、实验内容练习A1.熟悉MATLAB程序编辑与设计环境2.用for循环语句实现求1~100的和3.用for循环语句实现编写一个求阶乘n!的函数文件4.设y=[3,5,7,9,11,16,21,23,25,27],将y向量中属于能整除3的元素传递给向量z。
(使用函数rem 求余数)。
7.已知数组A=[2,4,6,8,10],B=[4,9,6,7,4],求]1[][1+-∑=i n B i A ni ,其中n=5。
五、实验程序及结果程序如下:%用for 循环语句实现求1~100的和 sum=0;for i=1:100 sum=sum+i; end sum结果为:sum =5050%用for 循环语句实现编写一个求阶乘n!的函数文件 function f=factor(n) f=1;for i=1:n f=f*i; End运行结果为: f=factor(10) f =3628800%设y=[3,5,7,9,11,16,21,23,25,27],将y 向量中属于能整除3的元素传递给向量z 。
(使用函数rem 求余数)y=[3,5,7,9,11,16,21,23,25,27]; z=[];for i=1:10a=rem(y(i),3); if a==0z=[z,y(i)]; end end z结果为:z =3 9 21 27%已知数组A=[2,4,6,8,10],B=[4,9,6,7,4],求]1[][1+-∑=i n B i A ni ,其中n=5。