matlab 应用实验报告
【篇一: matlab 实验报告】
第 1 页
第 2 页
第 3 页
第 4 页
第 5 页
【篇二:《 matlab 语言及其应用》实验报告】
《matlab 语言及其应用》实验报告
实验指导老师:
学院:电气与信息工程学院
班级:自动化
姓名: 学号:
学号:
《matlab 语言及其应用》
实验一
实验二
实验三
实验四
实验五
实验指导目录 matlab 使用方法和程序设计 ........................ 控制系统的模型及其转换 ............................. 控制系统的时域、频域和根轨 迹分析........... 动态仿真集成环境 -simulink......................... 直流电 机自动调速系统控制器设计
实验一 matlab 使用方法和程序设计
一、 实验目的
1、掌握 matlab 软件使用的基本方法;
2、熟悉 matlab 的数据表示、基本运算和程序控制语句
3、熟悉 matlab 绘图命令及基本绘图控制
4、熟悉 matlab 程序设计的基本方法
二、 实验内容:
1、帮助命令
使用 help 命令,查找 sqrt (开方)函数的使用方法;
2、矩阵运算
(1) 矩阵的乘法
已知 a=[1 2;3 4]; b=[5 5;7 8];
求 a^2*b
a=[1 2;3 4];b=[5 5;7 8];c=a^2*b
c = 105115 229251
(2) 矩阵除法
已知 a=[1 2 3;4 5 6;7 8 9];b=[1 0 0;0 2 0;0 0 3];ab,a/b
a=[1 2 3;4 5 6;7 8 0]; b=[1 0 0;0 2 0;0 0 3];ab,a/b ans =
-1.7778 1.7778-0.3333
1.5556-1.5556 0.6667-0.1111 0.4444-0.3333ans =
1.0000 1.0000 1.0000
4.0000 2.5000 2.0000
7.0000 4.00000
(3) 矩阵的转置及共轭转置
已知 a=[5+i,2-i,1;6*i,4,9-i];
求 a., a
a=[5+i,2-i,1;6*i,4,9-i];a.,a
ans =
5.0000 + 1.0000i 0 + 6.0000i
2.0000 - 1.0000i4.0000
1.0000 9.0000 - 1.0000ians =
5.0000 - 1.0000i 0 - 6.0000i
2.0000 + 1.0000i4.0000 1.0000 9.0000 + 1.0000i
(4) 使用冒号表达式选出指定元素
已知: a=[1 2 3;4 5 6;7 8 9];
求 a 中第 3 列前 2 个元素; a 中所有列第 2,3 行的元素; 方括号[]
用 magic 函数生成一个 4 阶魔术矩阵,删除该矩阵的第四列 a=[1
2 3;4 5 6;7 8 9]; b=a(1:2,3) b =
3
6
b1=a(2:3,:)b1 =
4 5 6 7 8 9
b1=a(2:3,:)b1 =
4 5 6 7 8 9 b(:,4)=[ ]b =
16 2 35 11 109 7 6 4 14 15
3、多项式
(1)求多项式 p(x)?x3?2x?4 的根
p=[1 0 -2 -4]; r=roots(p)
r =
2.0000
-1.0000 + 1.0000i -1.0000 - 1.0000i
(2)已知 a=[1.2 3 5 0.9;5 1.7 5 6;3 9 0 1;1 2 3 4] , 求矩阵 a 的
特征多项式 ;
把矩阵 a 作为未知数代入到多项式中;
a=[1.2 3 5 0.9;5 1.7 5 6;3 9 0 1;1 2 3 4]; p=poly(a)
p =
1.0000-6.9000 -77.2600 -86.1300 604.5500 y=sym(a)
【篇三: matlab 实验报告】
实验一 典型环节的 matlab 仿真
一、实验目的
1.熟悉 matlab 桌面和命令窗口,初步了解 simulink 功能模块的
使用方法。
2.通过观察典型环节在单位阶跃信号作用下的动态特性,加深对各
典型环节响应曲线的理解。
3.定性了解各参数变化对典型环节动态特性的影响。
二、simulink 的使用
matlab 中 simulink 是一个用来对动态系统进行建模、仿真和分析的软件包。利用 simulink 功能模块可以快速的建立控制系统的模型, 进行仿真和调试。
1.运行 matlab 软件,在命令窗口栏 “”提示符下键入 simulink 命令,按 enter 键或在工具栏单击按钮,即可进入如图 1-1 所示的
simulink 仿真环境下。
2.选择 file 菜单下 new 下的 model 命令,新建一个 simulink 仿
真环境常规模板。
3.在 simulink 仿真环境下,创建所需要的系统。
图 1-1simulink 仿真界面 图 1-2 系统方框图 以图 1-2 所示的系统为
例,说明基本设计步骤如下:
1)进入线性系统模块库,构建传递函数。点击 simulink 下的
“continuous ”,再将右边窗口中 “transfer fen 的”图标用左键拖至新建的 “untitled 窗”口 。
2)改变模块参数。在 simulink 仿真环境 “untitled 窗”口中双击该图
标,即可改变传递函数。其中方括号内的数字分别为传递函数的分
子、分母各次幂由高到低的系数,数字之间用空格隔开;设置完成
后,选择 ok ,即完成该模块的设置。
3)建立其它传递函数模块。按照上述方法,在不同的 simulink 的
模块库中,建立系统所需的传递函数模块。例:比例环节用 “math”
右边窗口 “gain ”的图标。
5)选择输出方式。用鼠标点击 simulink 下的 “sinks ”,就进入输出方式模块库,通常选用 “scope”的示波器图标,将其用左键拖至新建 的“untitled 窗”口 。
6)选择反馈形式。为了形成闭环反馈系统,需选择 “math”模块库右边窗口 “sum”图标,并用鼠标双击,将其设置为需要的反馈形式 (改变正负号)。
7)连接各元件,用鼠标划线,构成闭环传递函数。
8
)运行并观察响应曲线。用鼠标单击工具栏中的 “”按钮,便能自动
运行仿真环境下的系统框图模型。运行完之后用鼠标双击 “scope”元
件,即可看到响应曲线。
三、实验原理
1.比例环节的传递函数为 g(s)z2r22z1r1r1?100k,r2?200k 其对应的模拟电路及 simulink 图形如图 1-3 所示。
图 1-3 比例环节的模拟电路及 simulink 图形2.惯性环节的传递函数为
z212?z1r2c1?10.2s?1r2g(s)r1?100k,r2?200k,c1?1uf 其对应的模拟电路及 simulink 图形如图 1-4 所示。3.积分环节 (i) 的传递函数为 g(s)z211?z1r1c1s0.1sr1?100k,c1?1uf
其对应的模拟电路及 simulink 图形如图 1-5 所示。图 1-5 积分环节的模拟电路及及 simulink 图形图 1-4 惯性环节的模拟电路及 simulink 图形
4.微分环节 (d) 的传递函数为
g(s)z2r1c1ssz1r1?100k,c1?10uf c2c1?0.01uf 其对应的模拟电路及 simulink 图形如图 1-6 所示。
图 1-6 微分环节的模拟电路及及 simulink 图形5.比例 +微分环节( pd )的传递函数为 g(s)z2r2(r1c1s?1)(0.1s?1)z1r1
c2c1?0.01uf r1?r2?100k,c1?10uf
其对应的模拟电路及 simulink 图形如图 1-7 所示。
6.比例 +积分环节( pi )的传递函数为 r2?z21s1g(s)(1?) r1?
r2?100k,c1?10uf z1r1s
图 1-7 比例+微分环节的模拟电路及 simulink
图形
其对应的模拟电路及 simulink 图形如图 1-8 所示。
图 1-8 比例+积分环节的模拟电路及 simulink 图形
四、实验内容
按下列各典型环节的传递函数,建立相应的 simulink 仿真模型,观
察并记录其单位阶跃响应波形。
① 比例环节 g1(s)?1 和 g1(s)?2;
② 惯性环节 g1(s)?11 和 g2(s)? s?10.5s?1
③ 积分环节 g1(s)? ④ 微分环节 g1(s)?s
⑤ 比例+微分环节( pd )g1(s)?s?2 和 g2(s)?s?1
⑥ 比例+积分环节( pi )g1(s)?1? 和 g2(s)?1? s
五、实验报告
1.画出各典型环节的 simulink 仿真模型。
2. 记录各环节的单位阶跃响应波形,并分析参数对响应曲线的影响。
3. 写出实验的心得与体会。
六、预习要求
1.熟悉各种控制器的原理和结构,画好将创建的 simulink 图形。
2.预习 matlab 中 simulink 的基本使用方法。
实验二 线性系统时域响应分析
一、实验目的
1.熟练掌握 step( ) 函数和 impulse( ) 函数的使用方法,研究线性
系统在单位阶跃、单位脉冲及单位斜坡函数作用下的响应。
2.通过响应曲线观测特征参量 ?和?n 对二阶系统性能的影响。
3.熟练掌握系统的稳定性的判断方法。
二、基础知识及 matlab 函数
(一)基础知识
时域分析法直接在时间域中对系统进行分析,可以提供系统时间响
应的全部信息,具有直观、准确的特点。为了研究控制系统的时域
特性,经常采用瞬态响应(如阶跃响应、脉冲响应和斜坡响应)。
本次实验从分析系统的性能指标出发,给出了在 matlab 环境下获取
系统时域响应和分析系统的动态性能和稳态性能的方法。
用 matlab 求系统的瞬态响应时,将传递函数的分子、分母多项式的系数分别以 s 的降幂排列写为两个数组 num 、den 。由于控制系 统分子的阶次 m 一般小于其分母的阶次 n,所以 num 中的数组元素
与分子多项式系数之间自右向左逐次对齐,不足部分用零补齐,缺
项系数也用零补上。
1.用 matlab 求控制系统的瞬态响应
1)阶跃响应
求系统阶跃响应的指令有:
step(num,den) 时间向量 t 的范围由软件自动设定,阶跃响应曲线随
即绘出
step(num,den,t) 时间向量 t 的范围可以由人工给定(例如
t=0:0.1:10 )
[y ,x]=step(num,den) 返回变量 y 为输出向量, x 为状态向量
在 matlab 程序中,先定义 num,den 数组,并调用上述指令,即可
生成单位阶跃输入信号下的阶跃响应曲线图。
考虑下列系统: c(s)25?2 r(s)s?4s?25 该系统可以表示为两个数组,每一个数组由相应的多项式系数组成,
并且以 s 的降幂排列。则 matlab 的调用语句:
num=[0025]; % 定义分子多项式
den=[1425]; % 定义分母多项式
step(num,den)% 调用阶跃响应函数求取单位阶跃响应曲线