当前位置:首页 >> 信息与通信 >>

《MATLAB实验报告


《MATLAB 与控制系统仿真》 实验报告

班级:

自 动 化 102 班

学号:

6100310059

姓名:

费梦娟

时间:

2013 年 6 月



录<

br />
实验一 MATLAB 的环境与基本运算(一) 实验二 MATLAB 的环境与基本运算(二) 实验三 MATLAB 语言的程序设计 实验四 MATLAB 的图形绘制 实验五 基于 SIMULINK 的系统仿真 实验六 控制系统的频域与时域分析 实验七 控制系统 PID 校正器设计法 实验八 线性方程组求解及函数求极值

1

南昌大学实验报告
学生姓名: 费梦娟 学 号: 6100310059 专业班级: 自动化 102 班 实验成绩: 实验类型:■ 验证 □ 综合 □ 设计 □ 创新 实验日期:

实验一 MATLAB 的环境与基本运算(一)
一、实验目的
1. 熟悉MATLAB开发环境 2.掌握矩阵、变量、表达式的各种基本运算

二、实验基本原理
1.熟悉MATLAB环境:
MATLAB桌面和命令窗口、命令历史窗口、帮助信息浏览器、工作空间浏览器、文件和搜索路 径浏览器。 2.掌握 MATLAB 常用命令 表 1 MATLAB 常用命令 clc clear help lookfor 清除命令窗口中内容 清除工作空间中变量 对所选函数的功能、调用格式及相关函数给出说明 查找具有某种功能的函数但却不知道该函数的准确名称

3.MATLAB变量与运算符 3.1 变量命名规则 3.2 MATLAB 的各种常用运算符 表 2 MATLAB 算术运算符
操作符 + * .* ^ .^ 功能说明 加 减 矩阵乘 数组乘 矩阵乘方 数组乘方 操作符 \ .\ / ./ ' .' 功能说明 矩阵左除 数组左除 矩阵右除 数组右除 矩阵转置 数组转置

表 3 MATLAB 关系运算符
操作符 == ~= > < >= <= 功能说明 等于 不等于 大于 小于 大于等于 小于等于

2

表 4 MATLAB 逻辑运算符
逻辑运算符 & | ~ 逻辑运算 And Or Not 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.工
3

作空间管理命令 ??who ??whos

??clear
6.随机生成一个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

4、窗口命令 ??close ??close all

??clc

??hold on

??hold off

5、工作空间管理命令 ??who

5

??whos

??clear

3、程序如下: %随机生成一个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按行拉长形成新的 数组C A=[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(:)
6

B1=A'; D=B1(:); C=D' 求高阶方程的的根,求高阶多项式的值。

六、实验总结
通过第一次做实验,熟悉了一些的基本功能。掌握矩阵、变量、表达式的各种基 本运算,让自己感觉到了 MATLAB 功能的强大,因此我们必须学习使用这个软件,让它 更好的为我们服务。

7

南昌大学实验报告
学生姓名: 费梦娟 学 号: 6100310059 专业班级: 自动化 102 班 实验成绩: 实验类型:■ 验证 □ 综合 □ 设计 □ 创新 实验日期:

实验二 MATLAB 的环境与基本运算(二)
一、实验目的
1. 熟悉MATLAB开发环境 2.掌握矩阵、变量、表达式的各种基本运算

二、实验基本原理
1.MATLAB的基本运算 表 1 两种运算指令形式和实质内涵的异同表

2.MATLAB 的常用函数

8

三、实验内容
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;
9

n=5; p=1.2; A.' A=s s+B s-B B-s s.*A s./B B./s A.^n A.^p A+B A-B A.*B A./B B.\A exp(A) log(A) sqrt(A) A' s*A s*inv(C) A^n A^p A*B A/B B\A expm(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)
10

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) 方法二 >>A=[1,2,3,4,5;10,9,8,7,6;11,12,13,14,15; 16,17,18,19,20] A= 1 2 10 9 11 12 16 17 >> A(2,2:3) ans = 9 8 3 8 13 18 4 7 14 19 5 6 15 20 >> A(2:4,4) ans = 7 14 19 >> A(4:5,1:3) ans= 16 21 17 22 18 23

六、实验总结
在第一次实验的基础上,自己这次实验要相对上一次比较顺利,一些 基 本 功 能 也 能 更 好 的 掌 握 , 但 是 对 matlab 这 个 软 件 的 强 大 功 能 还 不 能 很 好 的 应 用, 此我要加强对该软件的学习, 它更好的处理各个学科的知识, 而言之 , 因 让 总 这次实验的收获还是比较大的。

11

南昌大学实验报告
学生姓名: 费梦娟 学 号: 6100310059 专业班级: 自动化 102 班 实验成绩: 实验类型:■ 验证 □ 综合 □ 设计 □ 创新 实验日期:

实验三 MATLAB 语言的程序设计
一、实验目的
1.熟悉MATLAB程序编辑与设计环境 2.掌握各种编程语句语法规则及程序设计方法 3.函数文件的编写和设计 4.了解和熟悉跨空间变量传递和赋值

二、实验基本原理
1.程序流程控制语句

for循环结构
语法:for i=初值:增量:终值 语句1 …… 语句n end 说明:1.i=初值:终值,则增量为1。 2.初值、增量、终值可正可负,可以是整数,也可以是小数,只须符合数学逻辑。 while 循环结构 语法:while 逻辑表达式 循环体语句 end 说明:(1)whiIe结构依据逻辑表达式的值判断是否执行循环体语勾。若表达式的值为真,执行循 环体语句一次、在反复执行时,每次都要进行判断。若表达式的值为假,则程序执行end 之后的语句。 (2)为了避免因逻辑上的失误,而陷入死循环,建议在循环体语句的适当位置加break语句、 以便程序能正常执行。 (执行循环体的次数不确定; 每一次执行循环体后, 一定会改变while 后面所跟关系式的值。) (3)while循环也可以嵌套、其结构如下: while逻辑表达式1 循环体语句1 while逻辑表达式2 循环体语句2 end 循环体语句3
end

if-else-end分支结构
if 表达式 1
12

语句1 else if 表达式 2(可选) 语句2 else(可选) 语句3 end end 说明:(1)if结构是一个条件分支语句,若满足表达式的条件,则往下执行;若不满足,则跳出if 结构。 (2)else if表达式2与else为可选项,这两条语句可依据具体情况取舍。 (3)注意:每一个if都对应一个end,即有几个if,记就应有几个end。

switch-case结构
语法:switch表达式 case常量表达式1 语句组1 case常量表达式2 语句组2 …… otherwise 语句组n end 说明:(1)switch后面的表达式可以是任何类型,如数字、字符串等。 (2)当表达式的值与case后面常量表达式的值相等时,就执行这个case后面的语句组如果所 有的常量表达式的值都与这个表达式的值不相等时,则执行otherwise后的执行语句。 程序流程控制指令 break、return、pause 2.函数文件的结构和编写方法 函数只能在函数体内对变量进行操作,也就是只能访问函数本身工作空间中的变量。 M函数文件的结构 (1) 函数定义行(function) (2) H1行(函数帮助文本的第一行) (3) 函数帮助文本 (4) 函数体 (5) 注释 函数文件编写后,保存时,其文件名必须与函数名相同。注意:函数名不要与MATLAB自身的 函数命令相同。

三、主要仪器设备及耗材
计算机 四、实验内容
练习A 1.熟悉MATLAB程序编辑与设计环境
13

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],求

? A[i]B[n ? i ? 1] ,其中n=5。
i ?1

n

五、实验程序及结果
程序如下:
%用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:10 a=rem(y(i),3); if a==0 z=[z,y(i)]; end end z 结果为:z =
14

3

9

21

27

%已知数组A=[2,4,6,8,10],B=[4,9,6,7,4],求 A=[2,4,6,8,10]; B=[4,9,6,7,4]; n=5; sum=0; for i=1:5 a(i)=A(i)*B(n-i+1); sum=sum+a(i); end sum 结果为:

? A[i]B[n ? i ? 1] ,其中n=5。
i ?1

n

sum = 184

六、实验总结
在前两次实验的基础上,掌握了基本的操作,这次实验进一步加深了对软件功能的 探索,让自己熟悉MATLAB程序编辑与设计环境,掌握编程语句语法规则及程序设计 方法、函数文件的编写和设计,了解和熟悉跨空间变量传递和赋值。让自己掌握了基本 的编程方法,受益匪浅。

15

南昌大学实验报告
学生姓名: 费梦娟 学 号: 6100310059 专业班级: 自动化 102 班 实验成绩: 实验类型:■ 验证 □ 综合 □ 设计 □ 创新 实验日期:

实验四 MATLAB 的图形绘制
一、实验目的
1.学习MATLAB图形绘制的基本方法; 2.熟悉和了解MATLAB图形绘制程序编辑的基本指令; 3.熟悉掌握利用MATLAB图形编辑窗口编辑和修改图形界面,并添加图形的各种标注; 4.掌握plot、subplot的指令格式和语法。

二、实验基本原理
1.基本的绘图命令plot(x,y,) 2.建立图形窗口命令figure(1);figure(2);…;figure(n)打开不同的图形窗口,以便绘制不 同的图形。 3.grid on:在所画出的图形坐标中加入栅格 grid off:除去图形坐标中的栅格。 4.hold on:把当前图形保持在屏幕上不变,同时允许在这个坐标内绘制另外一个图形。 hold off:使新图覆盖旧的图形。 5.axis设定轴的范围 axis([xmin xmax ymin ymax])设定x 轴与y轴的最大、最小坐标。 axis(‘equal’):将x坐标轴和y坐标轴的单位刻度大小调整为一样。 6.文字标示 ??text(x,y,’字符串’) 在图形的指定坐标位置(x,y)处,标示单引号括起来的字符串。 ??gtext(‘字符串’) 利用鼠标在图形的任意位置标示字符串。 ??title(‘字符串’) 在所画图形的最上端显示说明该图形标题的字符串。 ??xlabel(‘字符串’),ylabel(‘字符串’) 设置x,y坐标轴的名称。 ??输入特殊的文字需要用反斜杠(\)开头 7.subplot(m,n,k):分割图形显示窗口,在同一个窗口中显示多个图形。 ??m:上下分割个数 ??n:左右分割个数 ??k::子图编号 8.semilogx:绘制以x轴为对数坐标(以10为底),y轴为线性坐标的半对数坐标图形。 semilogy:绘制以y 轴为对数坐标(以10 为底),x 轴为线性坐标的半对数坐标图形。

三、主要仪器设备及耗材
计算机
16

四、实验内容
1.绘制下列曲线,要求尽可能多地使用二中所列命令。

x3 ①y ? x? 3

1 2 e ②y? 2?

x2

③ ?

? x ? r sin t ? y ? r cos t

④ y=sin(t)sin(9t)

2.绘制二阶系统阶跃响应,综合演示图形标识。
clf;t=6*pi*(0:100)/100;y=1-exp(-0.3*t).*cos(0.7*t); tt=t(find(abs(y-1)>0.05));ts=max(tt); plot(t,y,'r-','LineWidth',3) axis([-inf,6*pi,0.6,inf]) set(gca,'Xtick',[2*pi,4*pi,6*pi],'Ytick',[0.95,1,1.05,max(y)]) grid on title('\it y = 1 - e^{ -\alphat}cos{\omegat}') text(13.5,1.2,'\fontsize{12}{\alpha}=0.3') text(13.5,1.1,'\fontsize{12}{\omega}=0.7') hold on;plot(ts,0.95,'bo','MarkerSize',10);hold off cell_string{1}='\fontsize{12}\uparrow'; cell_string{2}='\fontsize{16} \fontname{隶书}镇定时间'; cell_string{3}='\fontsize{6} '; cell_string{4}=['\fontsize{14}\rmt_{s} = ' num2str(ts)]; text(ts,0.85,cell_string) xlabel('\fontsize{14} \bft \rightarrow') ylabel('\fontsize{14} \bfy \rightarrow')

五、实验程序及结果
1.绘制下列曲线,要求尽可能多地使用二中所列命令。

x3 ①y ? x? 3
%绘制下列曲线 subplot(2,2,1); x=-5:0.1:5; y=x-x.^3/3; plot(x,y);

1 2 e ②y? 2?

x2

③ ?

? x ? r sin t ? y ? r cos t

④ y=sin(t)sin(9t)

title('图形1'); xlabel('x'); ylabel('y'); grid on subplot(2,2,2); x=-5:0.1:5; y=1/2/pi*exp(x.^2/2); plot(x,y); title('图形2');
17

xlabel('x'); ylabel('y'); grid on subplot(2,2,3); t=linspace(0,2*pi,10000); r=2; x=r*sin(t); y=r*cos(t); plot(x,y); title('图形3'); xlabel('x'); ylabel('y'); axis('equal') grid on subplot(2,2,4); t=linspace(0,2*pi,10000); y=sin(t).*sin(9*t); plot(t,y); title('图形4'); xlabel('t'); ylabel('y'); grid on
图形1 40 5 4 3 0
y y

x 10

4

图形2

20

2 -20 1

-40 -5

-4

-3

-2

-1

0 x 图形3

1

2

3

4

5

0 -5

-4

-3

-2

-1

0 x 图形4

1

2

3

4

5

2 1.5 1 0.5 0 -0.5 -1 -1.5 -2 -1 0 x 1 2

1

0.5

0

y

y

-0.5

-1

0

1

2

3 t

4

5

6

7

2.绘制二阶系统阶跃响应,综合演示图形标识。

18

y = 1 - e -?tcos ?t 1.2843

?=0.3

?=0.7
1.05 1

y ?

0.95

?

镇定时间
ts = 9.6133

6.2832

12.5664

18.8496

t?

y = 1 - e -?tcos ?t 1.2843

?=0.3 ?=0.7
1.05 1

y?

0.95

?

镇定时间
ts = 9.6133

6.2832

12.5664

18.8496

t?

六、实验总结
这次实验掌握了 MATLAB 图形绘制的基本方法,熟悉和了解 MATLAB 图形绘 制程序编辑的基本指令,利用 MATLAB 图形编辑窗口编辑和修改图形界面,并添加图 形的各种标注,掌握 plot、subplot 的指令格式和语法。让自己对软件的拓展范围加大, 自己的使用更加顺利,收获很大。

19

南昌大学实验报告
学生姓名: 费梦娟 学 号: 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;Ce=0.1925;Kt=0.01178;T1=0.049; T2=0.088 (1)在Simulink集成环境下建立模型,在给定信号作用点处输入单位给定阶跃响应信号,0.3秒后在扰 动信号点输入单位阶跃响应信号。并绘制相应的响应曲线 (2)计算仿真结果的超调量、上升时间、调节时间、稳态误差。 (3)设计PID调节器替代图中的比例积分调节器,调节Kp,Ti,Td,用使系统满足超调量15%,上升时间 0.3s,调节时间0.4s的要求。 (4)要求对加入的PID控制器封装成一个模块使用。
20

PID调节器

封装模块

应用PID调节器后

21

2、用Simulink对以下系统进行仿真

?2u (t ) t ? 30 y (t ) ? ? ?8u (t ) t ? 30
其中 u(t) 为系统输入,y(t)为系统输出,仿真当输入为正弦信号时,输出的信号的波形,仿真 时间0<=0t<=100。

22

3、在滑艇的运行过程中,滑艇主要受到如下作用力的控制:滑艇自身的牵引力F,滑艇受到的水 的阻力f。其中水的阻力 f ? u ? u ,u为滑艇的运动速度。由运动学的相关定理可知,整个滑艇
2

系统的动力学方程为:
? 1 u ? [ F ? (u 2 ? u )] m

其中,m为滑艇的质量。假设滑艇的质量为1000kg,建立此系统的Simulink模型并进行分析。

23

由仿真曲线可知,滑艇在牵引力 F(值为 1000)的作用下,在经过 80s 左右的时间后,速度由 0 上 升并稳定在 33km/h。

四、实验总结
这个实验让我熟悉SIMULINK工作环境及特点, 掌握线性系统仿真常用基本模块 的用法, 熟悉SIMULINK 的建模与仿真方法以及子系统的创建和封装设计.这个实验也 体现了MATLAB用途比较广泛, 因此我们必须学会使用MATLAB, 这样才能更有益于我们的 学习。

24

南昌大学实验报告
学生姓名: 费梦娟 学 号: 6100310059 专业班级: 自动化 102 班 实验成绩: 实验类型:■ 验证 □ 综合 □ 设计 □ 创新 实验日期:

实验六
一、实验目的

控制系统的频域与时域分析

1、掌握控制系统数学模型的基本描述方法和相互转化 2、了解控制系统的稳定性分析方法 3、掌握控制系统频域与时域分析基本方法

二、实验基本原理
1、系统数学模型的几种表示方法 2、在MATLAB工具箱中,提供了子系统的连接处理函数: 1) series()函数:系统串联实现。 2) parallel()函数:系统并联实现。 3) feedback()函数:系统反馈连接。 3、控制系统根轨迹绘制 1)rlocfind():计算给定根的根轨迹增益 2)rlocus() 函数:功能为求系统根轨迹。 4、控制系统频域分析基本方法 1)Bode图:bode()函数 2)Nyquist图:nyquist()函数 3)稳定裕度计算:margin( )函数 5、线性系统时间响应分析 1)step( )函数---求系统阶跃响应 2)impulse( )函数:求取系统的脉冲响应 3)lsim( )函数:求系统的任意输入下的仿真

三、实验程序及结果
1 、 表 示 下 列 传 递 函 数 模 型 , 并 转 化 成 其 他 的 数 学 模 型

1.(1)传递函数以及传递函数转化为零极点形式
25

传递函数转化为状空表达式

(2)传递函数以及传递函数转化为零极点形式

传递函数转化为状空表达式

26

(3)传递函数以及传递函数转化为零极点形式

传递函数转化为状空表达式

(4)状空表达式以及状空表达式转化为传递函数
27

状空表达式转化为零极点形式

2、一个单位负反馈开环传递函数为

试绘出系统闭环的根轨迹图;并在跟轨迹图上任选一点,试计算该点的增益K及其所有 极点的位置。
28

3、求下面系统在阶跃信号为0.11(t)时系统的响应。

并求系统性能指标:稳态值、上升时间、调节时间、超调量。

29

稳态值 0.11、上升时间 4.52、调节时间 10 、超调量 0.113

四、实验总结
通过本次实验掌握控制系统数学模型的基本描述方法和相互转化,了解控制系统 的稳定性分析方法, 掌握控制系统频域与时域分析基本方法, 这个对于我们控制理论的 学习非常有帮助, 通过模拟让我们知道自己运算的结果的正误, 让自己能够更好的检验。

30

南昌大学实验报告
学生姓名: 费梦娟 学 号: 6100310059 专业班级: 自动化 102 班 实验成绩: 实验类型:■ 验证 □ 综合 □ 设计 □ 创新 实验日期:

实验七
一、实验目的

控制系统 PID 校正器设计法

1、熟悉常规PID控制器的设计方法 2、掌握PID参数的调节规律 3、学习编写程序求系统的动态性能指标

二、实验基本原理
1.模拟 PID 控制器 典型的 PID 控制结构如图 1 所示。 PID 控制器 比 例 ` r(t) e(t) 积 分 微 分 u(t) y(t)
对象模型

图 1 典型 PID 控制结构 PID 调节器的数学描述为

u (t ) ? K p [e(t ) ?

1 Ti

? e(? )d? ? T
0

t

d

de(t ) ] dt

2 数字 PID 控制器 在计算机 PID 控制中,连续 PID 控制算法不能直接使用,需要采用离散化方法,通常使用数字 PID 控制器。以一系列采样时刻点 kT(T 为采样周期)代表连续时间 t,以矩形法数值积分近似代 替积分,以一阶后向差分近似代替微分,即:

? ? t ? kT ? k k t ? e(? )d? ? T ? e( jT ) ? T ? e( j ) ? ?0 j ?0 j ?0 ? ? de(t ) e( kT ) ? e(( k ? 1)T ) e( k ) ? e( k ? 1) ? ? ? T T ? dt 离散 PID 表达式:

31

u( k ) ? K p [e( k ) ?

1 Ti

? e( j )T ?T
j ?0

k

d

e( k ) ? e( k ? 1) ] T

三、实验程序及结果
1、在SIMULINK窗口建立如下模型 2、设计PID控制器,传递函数模型如下

计算得出 M=92.7299 p=0.0924 yss=84.8827 满足条件。 此时PID参数如下表:
参数 数值 5

tp=2.5103

tr=1.8008

ts=3.4543

Kp 5
32

Ti 2

Td

程序如下: %system analyse %M maxmun %p over %tp maxmun-time %ts transition-time %tr rise_time %yss stable function[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; end ts=t(tm); k=1; while y(k)<=yss*0.98 k=k+1; end tr=t(k);
6、将输入信号设为 r ( k ) ? 0.50 sin( 2? t ) ,调节PID控制器参数,绘制正弦跟踪曲线。

五 实验总结
通 过 这 个 实 验 熟 悉 常 规 PID 控 制 器 的 设 计 方 法 , 掌 握 PID 参 数 的 调 节 规 律 , 学会编写程序求系统的动态性能指标 ,收获颇多。

33

南昌大学实验报告
学生姓名: 费梦娟 学 号: 6100310059 专业班级: 自动化 102 班 实验成绩: 实验类型:■ 验证 □ 综合 □ 设计 □ 创新 实验日期:

实验八
一、实验目的 1、理解线性方程组求解方法 2、理解函数求极值方法

线性方程组求解及函数求极值

3、通过练习以下内容熟悉求解线性方程组的方法和函数求极值的方法 二、实验说明 1.自主编写程序,必要时参考相关资料 2.实验前应写出程序大致框架或完整的程序代码 5.实验学时:2 学时

三、实验内容及实验程序
1、求下列方程组的解

?2 x ? 3 y ? 5 z ? 10 ? 1) ? 3 x ? 7 y ? 4 z ? 3 ? x ? 7y ? z ? 5 ?

?6 x1 ? 5 x 2 ? 2 x3 ? 5 x 4 ? ?4 ? 9 x ? x ? 4 x ? x ? 13 ? 1 2 3 4 ? ? 3x1 ? 4 x 2 ? 2 x3 ? 2 x 4 ? 1 ? 3x1 ? 9 x 2 ? 2 x 4 ? 11 ?

34

2、求下列函数在指定区间的最大值
1? x2 1) f ( x) ? , x ? (0,2) 1? x4
>> f='-(1+x^2)/(1+x^4)',x=fminsearch(f,0),ymax=(1+x^2)/(1+x^4) f= -(1+x^2)/(1+x^4) x= 0.6436 ymax = 1.2071 2) f ( x) ? sin x ? cos x , x ? (0, ? )
2

>> f='-sin(x)-cos(x^2)',x=fminsearch(f,0),ymax=sin(x)+cos(x^2) f= -sin(x)-cos(x^2) x= 0.7310 ymax = 1.5282

四、心得体会:
通过这几次做实验,基本掌握了的基本 matlab 的功能,也把 matlab 强大的功能应 用于其他几门课实验数据的处理。不得不说 matlab 的功能很强大,我们只是掌握了其 中一点点,matlab 中的很多工具箱都很实用,有待自己进一步去探究和学习。

35


相关文章:
matlab实验报告_图文
MATLAB 实验报告 MATLAB 实验报告 姓名: 学号: 0905130129 专业班级:通信工程 1301 班 学院: 信息科学与工程学院 指导老师:陈科文、支国明、张金焕、周扬 1 MATLAB...
MATLAB实验报告实验五
MATLAB实验报告实验五_理学_高等教育_教育专区 暂无评价|0人阅读|0次下载|举报文档 MATLAB实验报告实验五_理学_高等教育_教育专区。实验五 1. M 文件如下: 函数...
MATLAB实验报告
MATLAB实验报告_数学_自然科学_专业资料。本文档旨在帮助matlab基础差的同学理解和快速进步!“MATLAB 及其在通信中的应用” 上机实验四1 ———MATLAB 程序设计初步...
matlab实验报告
matlab实验报告_理学_高等教育_教育专区。带限数字基带传输系统的仿真 课程设计报告成绩 南京工程学院 课程设计说明书(论文)题目 带限数字基带传输系统的仿真 课 程...
MATLAB实验报告
学生实验报告 (理工类) 课程名称:计算机建模与仿真 专业班级: 10 电气(1)班 ...[0,6*pi]) 四、实验结果与分析通过对 MATLAB 的进一步学习,主要学习的还是...
MATLAB实验一:运算基础实验报告
MATLAB 实验报告 课程名称 MATLAB 程序设计 学生姓名 实验名称 实验仪器 (软件、硬件 环境) 实验目的 (要求) 学号 MATLAB 运算基础 实验日期 2013 年 11 月 5 ...
MATLAB实验报告
中南民族大学 计算机科学学院 MATLAB 实验报告题 目 MATLAB 实验 年级 2010 专业 计算机科学与技术 指导教师 李波 小组成员 (姓名学号 ) 实验类型成绩评定 评语: ...
MATLAB实验报告
MATLAB实验报告_调查/报告_表格/模板_实用文档。电子与信息工程学院 实验报告 实验名称: Maltlab 实验 班 级: 123421 姓 名: 卢道泼 指导教师: 金绪进 实验...
东北大学 MATLAB实验报告
27 1 MATLAB 实验报告 电子 1002 班 钱振林 20102606 第一部分 MATLAB 语言编程、科学绘图与基本数学问题求解第1题安装 MATLAB 软件,应用 demo 命令了解主要功能,...
Matlab实验报告
Matlab 实验报告四院四队 3 班 马鑫 201204013002 马也 201204014005 冯帆 201204014023 吴冠楠 20120415002 解旭辉 201204015007 赖恪 201204015019 第一专题作业 1、...
更多相关标签:
matlab上机实验报告 | matlab实验报告总结 | matlab实验报告模板 | matlab | matlab实验报告心得 | matlab实验答案 | matlab实验心得 | matlab实验报告答案 |