还剩34页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
《__TLAB与控制系统仿真》实验报告班级自动化102班学号6100310059姓名费梦娟时间2013年6月目录实验一__TLAB的环境与基本运算
(一)实验二__TLAB的环境与基本运算
(二)实验三__TLAB语言的程序设计实验四__TLAB的图形绘制实验五基于SIMULINK的系统仿真实验六控制系统的频域与时域分析实验七控制系统PID校正器设计法实验八线性方程组求解及函数求极值南昌大学实验报告学生姓名费梦娟学号6100310059专业班级自动化102班实验类型■验证□综合□设计□创新实验日期实验成绩实验一__TLAB的环境与基本运算
(一)
一、实验目的1.熟悉__TLAB__环境2.掌握矩阵、变量、表达式的各种基本运算
二、实验基本原理
1.熟悉__TLAB环境:__TLAB桌面和命令窗口、命令历史窗口、帮助信息浏览器、工作空间浏览器、文件和搜索路径浏览器
2.掌握__TLAB常用命令表1__TLAB常用命令clc清除命令窗口中内容clear清除工作空间中变量help对所选函数的功能、调用格式及相关函数给出说明lookfor查找具有某种功能的函数但却不知道该函数的准确名称
3.__TLAB变量与运算符3.1变量命名规则3.2__TLAB的各种常用运算符表2__TLAB算术运算符操作符功能说明操作符功能说明+加\矩阵左除-减.\数组左除*矩阵乘/矩阵右除.*数组乘./数组右除^矩阵乘方矩阵转置.^数组乘方.数组转置表3__TLAB关系运算符操作符功能说明==等于~=不等于大于小于=大于等于=小于等于表4__TLAB逻辑运算符逻辑运算符逻辑运算说明And逻辑与|Or逻辑或~Not逻辑非Xor逻辑异或表5__TLAB特殊运算符号功能说明示例符号功能说明示例1:1:4;1:2:
11.;分隔行..,分隔列…()%注释[]构成向量、矩阵!调用操作系统命令{}构成单元数组=用于赋值
4.__TLAB的一维、二维数组的寻访表6子数组访问与赋值常用的相关指令格式
三、主要仪器设备及耗材 计算机
四、实验内容1.新建一个文件夹(自己的名字命名,在机器的最后一个盘符)2.启动__TLAB,将该文件夹添加到__TLAB路径管理器中3.学习使用help命令4.窗口命令closecloseallclcholdonholdoff了解其功能和作用,观察com__ndwindow、com__ndhistory和workspa__等窗口的变化结果5.工作空间管理命令whowhosclear6.随机生成一个2×6的矩阵,写出实现矩阵左旋(以第1行第1列为中心逆时针)90°或右旋(顺时针)90°的命令左旋:rot90a;右旋rot90flipudfliplra(先左右翻转,上下翻转,在左旋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、启动__TLAB,将该文件夹添加到__TLAB路径管理器中
3、学习使用help命令
4、窗口命令closecloseallclcholdonholdoff
5、工作空间管理命令whowhosclear
3、程序如下%随机生成一个2×6的矩阵a=rand26%左旋90度a1=rot90a%右旋90度a2=rot90flipudfliplra%创建一个二维数组A(4×8)查询数组A第2行、第3列的元素;查询数组A第2行的所有元素;%查询数组A第6列的所有元素;查询数组A按列拉长形成新的数组B;查询数组A按行拉长形成新的数组CA=[12345678;910111213141516;1718192021222324;2526272829303132];A1=A23A2=A2:A3=A:6B=A:B1=A;D=B1:;C=D求高阶方程的的根,求高阶多项式的值
六、实验总结通过第一次做实验,熟悉了一些的基本功能掌握矩阵、变量、表达式的各种基本运算,让自己感觉到了__TLAB功能的强大,因此我们必须学习使用这个软件,让它更好的为我们服务南昌大学实验报告学生姓名费梦娟学号6100310059专业班级自动化102班实验类型■验证□综合□设计□创新实验日期实验成绩实验二__TLAB的环境与基本运算
(二)
一、实验目的1.熟悉__TLAB__环境2.掌握矩阵、变量、表达式的各种基本运算
二、实验基本原理
1.__TLAB的基本运算表1两种运算指令形式和实质内涵的异同表2.__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=[1234;5678];B=[9101112;13141516];C=[1718;1920];s=30;n=5;p=
1.2;A.A=ss+Bs-BB-ss.*As./BB./sA.^nA.^pA+BA-BA.*BA./BB.\AexpAlogAsqrtAAs*As*invCA^nA^pA*BA/BB\AexpmAlogmAsqrtmAdiagCeye4__gic5ones5ones45rand6rand62randn3randn36zeros5zeros37sizeCrot90BdetCrankC%
4、生成一个指定的矩阵,并按要求取出其中的数组元素方法一D=[1:5;10:-1:6;11:15;16:20;21:25]D22:3D2:44D4:51:3方法
二六、实验总结在第一次实验的基础上,自己这次实验要相对上一次比较顺利,一些基本功能也能更好的掌握,但是对__tlab这个软件的强大功能还不能很好的应用,因此我要加强对该软件的学习,让它更好的处理各个学科的知识,总而言之,这次实验的收获还是比较大的南昌大学实验报告学生姓名费梦娟学号6100310059专业班级自动化102班实验类型■验证□综合□设计□创新实验日期实验成绩实验三__TLAB语言的程序设计
一、实验目的1.熟悉__TLAB程序编辑与设计环境2.掌握各种编程语句语法规则及程序设计方法3.函数文件的编写和设计4.了解和熟悉跨空间变量传递和赋值
二、实验基本原理1.程序流程控制语句for循环结构语法fori=初值增量终值语句1……语句nend说明1.i=初值终值,则增量为12.初值、增量、终值可正可负,可以是整数,也可以是小数,只须符合数学逻辑while循环结构语法while逻辑表达式循环体语句end说明
(1)whiIe结构依据逻辑表达式的值判断是否执行循环体语勾若表达式的值为真,执行循环体语句一次、在反复执行时,每次都要进行判断若表达式的值为假,则程序执行end之后的语句
(2)为了避免因逻辑上的失误,而陷入死循环,建议在循环体语句的适当位置加break语句、以便程序能正常执行(执行循环体的次数不确定;每一次执行循环体后,一定会改变while后面所跟关系式的值)
(3)while循环也可以嵌套、其结构如下while逻辑表达式1循环体语句1while逻辑表达式2循环体语句2end循环体语句3endif-else-end分支结构if表达式1语句1elseif表达式2可选语句2else可选语句3endend说明
(1)if结构是一个条件分支语句,若满足表达式的条件,则往下执行;若不满足,则跳出if结构
(2)elseif表达式2与else为可选项,这两条语句可依据具体情况取舍
(3)注意每一个if都对应一个end,即有几个if,记就应有几个endswitch-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)注释函数文件编写后,保存时,其文件名必须与函数名相同注意函数名不要与__TLAB自身的函数命令相同
三、主要仪器设备及耗材 计算机
四、实验内容练习A1.熟悉__TLAB程序编辑与设计环境2.用for循环语句实现求1~100的和3.用for循环语句实现编写一个求阶乘n!的函数文件4.设y=
[3579111621232527],将y向量中属于能整除3的元素传递给向量z使用函数rem求余数7.已知数组A=
[246810],B=
[49674]求其中n=5
五、实验程序及结果程序如下%用for循环语句实现求1~100的和sum=0;fori=1:100sum=sum+i;endsum结果为sum=5050%用for循环语句实现编写一个求阶乘n!的函数文件functionf=factornf=1;fori=1:nf=f*i;End运行结果为f=factor10f=3628800%设y=
[3579111621232527],将y向量中属于能整除3的元素传递给向量z使用函数rem求余数y=
[3579111621232527];z=[];fori=1:10a=remyi3;ifa==0z=[zyi];endendz结果为z=392127%已知数组A=
[246810],B=
[49674]求其中n=5A=
[246810];B=
[49674];n=5;sum=0;fori=1:5ai=Ai*Bn-i+1;sum=sum+ai;endsum结果为sum=184
六、实验总结在前两次实验的基础上,掌握了基本的操作,这次实验进一步加深了对软件功能的探索,让自己熟悉__TLAB程序编辑与设计环境,掌握编程语句语法规则及程序设计方法、函数文件的编写和设计,了解和熟悉跨空间变量传递和赋值让自己掌握了基本的编程方法,受益匪浅南昌大学实验报告学生姓名费梦娟学号6100310059专业班级自动化102班实验类型■验证□综合□设计□创新实验日期实验成绩实验四__TLAB的图形绘制
一、实验目的1.学习__TLAB图形绘制的基本方法;2.熟悉和了解__TLAB图形绘制程序编辑的基本指令;3.熟悉掌握利用__TLAB图形编辑窗口编辑和修改图形界面,并添加图形的各种标注;4.掌握plot、subplot的指令格式和语法
二、实验基本原理1.基本的绘图命令plot(xy)2.建立图形窗口命令figure
(1);figure
(2);…;figuren打开不同的图形窗口,以便绘制不同的图形3.gridon在所画出的图形坐标中加入栅格gridoff除去图形坐标中的栅格4.holdon把当前图形保持在屏幕上不变,同时允许在这个坐标内绘制另外一个图形holdoff使新图覆盖旧的图形5.axis设定轴的范围axis([xminx__xyminy__x])设定x轴与y轴的最大、最小坐标axis‘equal’将x坐标轴和y坐标轴的单位刻度大小调整为一样6.文字标示textxy’字符串’在图形的指定坐标位置xy处,标示单引号括起来的字符串gtext‘字符串’利用鼠标在图形的任意位置标示字符串title‘字符串’在所画图形的最上端显示说明该图形标题的字符串xlabel‘字符串’,ylabel‘字符串’设置x,y坐标轴的名称输入特殊的文字需要用反斜杠(\)开头7.subplot(m,n,k)分割图形显示窗口,在同一个窗口中显示多个图形m上下分割个数n左右分割个数k:子图编号8.semilogx绘制以x轴为对数坐标(以10为底),y轴为线性坐标的半对数坐标图形semilogy绘制以y轴为对数坐标(以10为底),x轴为线性坐标的半对数坐标图形
三、主要仪器设备及耗材 计算机
四、实验内容1.绘制下列曲线,要求尽可能多地使用二中所列命令
①②③④y=sintsin9t2.绘制二阶系统阶跃响应,综合演示图形标识clf;t=6*pi*0:100/100;y=1-exp-
0.3*t.*cos
0.7*t;tt=tfindabsy-
10.05;ts=__xtt;plottyr-LineWidth3axis[-inf6*pi
0.6inf]set__aXtick[2*pi4*pi6*pi]Ytick[
0.
9511.05__xy]gridontitle\ity=1-e^{-\alphat}cos{\omegat}text
13.
51.2\fontsize{12}{\alpha}=
0.3text
13.
51.1\fontsize{12}{\omega}=
0.7holdon;plotts
0.95bo__rkerSize10;holdoff__ll_string{1}=\fontsize{12}\uparrow;__ll_string{2}=\fontsize{16}\fontname{隶书}镇定时间;__ll_string{3}=\fontsize{6};__ll_string{4}=[\fontsize{14}\rmt_{s}=num2strts];textts
0.85__ll_stringxlabel\fontsize{14}\bft\rightarrowylabel\fontsize{14}\bfy\rightarrow
五、实验程序及结果1.绘制下列曲线,要求尽可能多地使用二中所列命令
①②③④y=sintsin9t%绘制下列曲线subplot221;x=-5:
0.1:5;y=x-x.^3/3;plotxy;title图形1;xlabelx;ylabely;gridonsubplot222;x=-5:
0.1:5;y=1/2/pi*expx.^2/2;plotxy;title图形2;xlabelx;ylabely;gridonsubplot223;t=linspa__02*pi_____;r=2;x=r*sint;y=r*cost;plotxy;title图形3;xlabelx;ylabely;axisequalgridonsubplot224;t=linspa__02*pi_____;y=sint.*sin9*t;plotty;title图形4;xlabelt;ylabely;gridon2.绘制二阶系统阶跃响应,综合演示图形标识
六、实验总结这次实验掌握了__TLAB图形绘制的基本方法,熟悉和了解__TLAB图形绘制程序编辑的基本指令,利用__TLAB图形编辑窗口编辑和修改图形界面,并添加图形的各种标注,掌握plot、subplot的指令格式和语法让自己对软件的拓展范围加大,自己的使用更加顺利,收获很大南昌大学实验报告学生姓名费梦娟学号6100310059专业班级自动化102班实验类型■验证□综合□设计□创新实验日期实验成绩实验五基于SIMULINK的系统仿真
一、实验目的
1、熟悉SIMULINK工作环境及特点
2、掌握线性系统仿真常用基本模块的用法
3、掌握SIMULINK的建模与仿真方法
4、子系统的创建和封装设计
二、实验基本原理
1、了解SIMULINK模块库中各子模块基本功能
2、SIMULINK的建模与仿真方法
(1)打开模块库,找出相应的模块鼠标左键__相应模块,拖拽到模型窗口中即可
(2)创建子系统当模型大而复杂时,可创建子系统
(3)设置仿真控制参数
三、实验程序及结果
1、SIMULINK仿真实际应用
(1)双环调速的电流环系统的方框图模型为图中参数设为Ks=44;Ts=
0.00167;Ta=
0.017;R=1;Tm=
0.075;__=
0.1925;Kt=
0.01178;T1=
0.049;T2=
0.0881在Simulink集成环境下建立模型,在给定__作用点处输入单位给定阶跃响应__,
0.3秒后在扰动__点输入单位阶跃响应__并绘制相应的响应曲线2计算仿真结果的超调量、上升时间、调节时间、稳态误差3设计PID调节器替代图中的比例积分调节器,调节KpTiTd,用使系统满足超调量15%,上升时间
0.3s,调节时间
0.4s的要求4要求对加入的PID控制器封装成一个模块使用PID调节器封装模块应用PID调节器后
2、用Simulink对以下系统进行仿真其中为系统输入,yt为系统输出,仿真当输入为正弦__时,输出的__的波形,仿真时间0=0t=
1003、在滑艇的运行过程中,滑艇主要受到如下作用力的控制滑艇自身的牵引力F,滑艇受到的水的阻力f其中水的阻力,u为滑艇的运动速度由运动学的相关定理可知,整个滑艇系统的动力学方程为其中,m为滑艇的质量假设滑艇的质量为1000kg,建立此系统的Simulink模型并进行分析由仿真曲线可知,滑艇在牵引力F(值为1000)的作用下,在经过80s左右的时间后,速度由0上升并稳定在33km/h
四、实验总结这个实验让我熟悉SIMULINK工作环境及特点,掌握线性系统仿真常用基本模块的用法,熟悉SIMULINK的建模与仿真方法以及子系统的创建和封装设计.这个实验也体现了__TLAB用途比较广泛,因此我们必须学会使用__TLAB,这样才能更有益于我们的学习南昌大学实验报告学生姓名费梦娟学号6100310059专业班级自动化102班实验类型■验证□综合□设计□创新实验日期实验成绩实验六控制系统的频域与时域分析
一、实验目的
1、掌握控制系统数学模型的基本描述方法和相互转化
2、了解控制系统的稳定性分析方法
3、掌握控制系统频域与时域分析基本方法
二、实验基本原理
1、系统数学模型的几种表示方法
2、在__TLAB工具箱中,提供了子系统的连接处理函数1)series函数系统串联实现2)parallel函数系统并联实现3)feedback函数系统反馈连接
3、控制系统根轨迹绘制1)rlocfind:计算给定根的根轨迹增益2)rlocus函数功能为求系统根轨迹
4、控制系统频域分析基本方法1)Bode图bode函数2)Nyquist图nyquist函数3)稳定裕度计算__rgin函数
5、线性系统时间响应分析1)step函数---求系统阶跃响应2)impulse函数求取系统的脉冲响应3)lsim函数求系统的任意输入下的仿真
三、实验程序及结果
1、表示下列传递函数模型并转化成其他的数学模型
1.1传递函数以及传递函数转化为零极点形式传递函数转化为状空表达式
(2)传递函数以及传递函数转化为零极点形式传递函数转化为状空表达式
(3)传递函数以及传递函数转化为零极点形式传递函数转化为状空表达式4状空表达式以及状空表达式转化为传递函数状空表达式转化为零极点形式
2、一个单位负反馈开环传递函数为试绘出系统闭环的根轨迹图;并在跟轨迹图上任选一点,试计算该点的增益K及其所有极点的位置
3、求下面系统在阶跃__为
0.11t时系统的响应并求系统性能指标稳态值、上升时间、调节时间、超调量稳态值
0.
11、上升时间
4.
52、调节时间
10、超调量
0.113
四、实验总结通过本次实验掌握控制系统数学模型的基本描述方法和相互转化,了解控制系统的稳定性分析方法,掌握控制系统频域与时域分析基本方法,这个对于我们控制理论的学习非常有帮助,通过模拟让我们知道自己运算的结果的正误,让自己能够更好的检验南昌大学实验报告学生姓名费梦娟学号6100310059专业班级自动化102班实验类型■验证□综合□设计□创新实验日期实验成绩实验七控制系统PID校正器设计法
一、实验目的
1、熟悉常规PID控制器的设计方法
2、掌握PID参数的调节规律
3、学习编写程序求系统的动态性能指标
二、实验基本原理1.模拟PID控制器典型的PID控制结构如图1所示`图1典型PID控制结构PID调节器的数学描述为2数字PID控制器在计算机PID控制中,连续PID控制算法不能直接使用,需要采用离散化方法,通常使用数字PID控制器以一系列采样时刻点kT(T为采样周期)代表连续时间t,以矩形法数值积分近似代替积分,以一阶后向差分近似代替微分,即离散PID表达式
三、实验程序及结果
1、在SIMULINK窗口建立如下模型
2、设计PID控制器,传递函数模型如下计算得出M=
92.7299p=
0.0924tp=
2.5103tr=
1.8008ts=
3.4543yss=
84.8827满足条件此时PID参数如下表参数KpTiTd数值552程序如下%system____yse%M__xmun%pover%tp__xmun-time%tstransition-time%trrise_time%yssstablefunction[Mptptrtsyss]=sys_anaty;tm=lengtht;yss=ytm;[Mtpk]=__xy;tp=ttpk;p=M-yss/yss;whileytm
0.95*yssytmyss*
1.05tm=tm-1;endts=ttm;k=1;whileyk=yss*
0.98k=k+1;endtr=tk;
6、将输入__设为,调节PID控制器参数,绘制正弦跟踪曲线五实验总结通过这个实验熟悉常规PID控制器的设计方法,掌握PID参数的调节规律,学会编写程序求系统的动态性能指标,收获颇多南昌大学实验报告学生姓名费梦娟学号6100310059专业班级自动化102班实验类型■验证□综合□设计□创新实验日期实验成绩实验八线性方程组求解及函数求极值
一、实验目的
1、理解线性方程组求解方法
2、理解函数求极值方法
3、通过练习以下内容熟悉求解线性方程组的方法和函数求极值的方法
二、实验说明1.自主编写程序,必要时参考相关资料2.实验前应写出程序大致框架或完整的程序代码5.实验学时2学时
三、实验内容及实验程序
1、求下列方程组的解1)
2、求下列函数在指定区间的最大值1)f=-1+x^2/1+x^4x=fminsearchf0y__x=1+x^2/1+x^4f=-1+x^2/1+x^4x=
0.6436y__x=
1.20712)f=-sinx-cosx^2x=fminsearchf0y__x=sinx+cosx^2f=-sinx-cosx^2x=
0.7310y__x=
1.5282
四、心得体会通过这几次做实验,基本掌握了的基本__tlab的功能,也把__tlab强大的功能应用于其他几门课实验数据的处理不得不说__tlab的功能很强大,我们只是掌握了其中一点点,__tlab中的很多工具箱都很实用,有待自己进一步去探究和学习A=[12345;109876;1112131415;1617181920]A=1234510987611121314151617181920A22:3ans=98A2:44ans=71419A4:51:3ans=161718212223比例积分微分对象模型PID控制器rtytutet。