没有合适的资源?快使用搜索试试~ 我知道了~
首页《自动控制原理》MATLAB实验指导书.pdf
资源详情
资源评论
资源推荐
1
实验一 初步认识 MATLAB 和控制系统仿真
一、实验目的
1.熟悉 MATLAB 桌面和命令窗口,掌握 MATLAB 仿真软件的使用方法。
2.掌握控制系统数学模型的多种描述方法及其仿真实现和互相转换。
3.熟悉控制系统仿真常用的 MATLAB 函数。
二、基础知识及 MATLAB 函数
Matlab 是一个功能强大的数值计算、符号运算工具。我们可以很方便地处理线性代
数中的矩阵计算,方程组的求解,微积分运算,多项式运算,偏微分方程求解,统计与
优化等问题。
MATLAB 语言以向量和矩阵为基本的数据单元, 包括流程控制语句(顺序、选择、
循环、条件、转移和暂停等),大量的运算符,丰富的函数,多种数据结构,输入输出
以及面向对象编程。这些既可以满足简单问题的计算,也适合于开发复杂的大型程序。
MATLAB 不仅仅是一套打好包的函数库,同时也是一种高级的、面向对象的编程语言。
使用 MATLAB 能够卓有成效地开发自己的程序,MATLAB 自身的许多函数,实际上也
包括所有的工具箱函数,都是用 M 文件实现的。
1、启动 MATLAB 命令窗口
计算机安装好 MATLAB 之后,双击 MATLAB 图标,就可以进入命令窗口(Command
Window),此时意味着系统处于准备接受命令的状态,可以在命令窗口中直接输入命令
语句。
MATLAB 语句形式
>变量=表达式;
通过等于符号将表达式的值赋予变量。当键入回车键时,该语句被执行。语句执行
之后,窗口自动显示出语句执行的结果。如果希望结果不被显示,则只要在语句之后加
上一个分号(;)即可。此时尽管结果没有显示,但它依然被赋值并在 MATLAB 工作空
间中分配了内存。
2、常用函数
1)常用的数学运算符
+,—,*(乘),/(左除),\(右除),^(幂)
2)常用数学函数
abs,sin,cos,tan,asin,acos,atan,sqrt,exp,imag,real,sign,log,log10,conj(共扼复数)等
2
3)多项式处理函数
① 在 MATLAB 中,多项式使用降幂系数的行向量表示,如:多项式
表示为:p=[1 -12 0 25 116],使用函数 roots 可以求出多项式等于 0 的根,根用列向
量表示。若已知多项式等于 0 的根,函数 poly 可以求出相应多项式。
r=roots(p)
r =
11.7473
2.7028
-1.2251 + 1.4672i
-1.2251 - 1.4672i
p=poly(r)
p =
-12 -0 25 116
② 多项式的运算
相乘 conv
a=[1 2 3] ; b=[1 2] c=conv(a,b)=1 4 7 6
conv 指令可以嵌套使用,如 conv(conv(a,b),c)
相除 deconv
[q,r]=deconv(c,b)
q=1 2 3 %商多项式
r=0 0 0 %余多项式
求多项式的微分多项式 polyder
polyder(a)=2 2
求多项式函数值 polyval(p,n):将值 n 代入多项式求解。
polyval(a,2)=11
③ 多项式的拟合
多项式拟合又称为曲线拟合,其目的就是在众多的样本点中进行拟合,找出满足
样本点分布的多项式。这在分析实验数据,将实验数据做解析描述时非常有用。
命令格式:p=polyfit(x,y,n),其中 x 和 y 为样本点向量,n 为所求多项式的阶数,
p 为求出的多项式。
④ 多项式插值
11625012
234
xxxx
3
多项式插值是指根据给定的有限个样本点,产生另外的估计点以达到数据更为平
滑的效果。所用指令有一维的 interp1、二维的 interp2、三维的 interp3。这些指
令分别有不同的方法(method),设计者可以根据需要选择适当的方法,以满足
系统属性的要求。Help polyfun 可以得到更详细的内容。
y=interp1(xs,ys,x,’method’)
在有限样本点向量 xs 与 ys 中,插值产生向量 x 和 y,所用方法定义在 method
中,有 4 种选择:
nearest:执行速度最快,输出结果为直角转折
linear:默认值,在样本点上斜率变化很大
spline:最花时间,但输出结果也最平滑
cubic:最占内存,输出结果与 spline 差不多
4)绘图函数
plot(x1,y1,option1,x2,y2,option2,…)
x1,y1 给出的数据分别为 x,y 轴坐标值,option1 为选项参数,以逐点连折线的方式
绘制 1 个二维图形;同时类似地绘制第二个二维图形,……等。
这是 plot 命令的完全格式,在实际应用中可以根据需要进行简化。比如:
plot(y), 以向量 y 的值为纵坐标,横坐标从 1 开始自动赋值绘制一条平面曲线;
plot(x,y), x 和 y 为长度相同的向量,以 x 的值为横坐标和 y 的值为纵坐标绘制一
条平面曲线;
plot(x,y,s),这里 s 是作图控制参数,用来控制线条的颜色、线型及标示符号等,
用一个单引号括起来的字符串表示,所绘制的曲线与第二种格式相同(控制参数字符请
参考 Matlab 的帮助,这些参数可以组合使用);
x=linspace(0,2*pi,100); % 100 个点的 x 座标
y=sin(x); % 对应的 y 座标
plot(x,y);
这就画出了正弦函数在[0,2π]上的图形
若要画出多条曲线,只需将座标对依次放入 plot 函数即可:
plot(x, sin(x), x, cos(x));
该命令在同一坐标系中画出了正弦和余弦函数的图形。
grid on:在所画出的图形坐标中加入栅格
grid off:除去图形坐标中的栅格
hold on:把当前图形保持在屏幕上不变,同时允许在这个坐标内绘制另外一个图形。
4
hold off:使新图覆盖旧的图形
设定轴的范围
axis([xmin xmax ymin ymax])
axis(‘equal’):将 x 坐标轴和 y 坐标轴的单位刻度大小调整为一样。
文字标示
text(x,y,’字符串’)
在图形的指定坐标位置(x,y)处,标示单引号括起来的字符串。
gtext(‘字符串’)
利用鼠标在图形的某一位置标示字符串。
title(‘字符串’)
在所画图形的最上端显示说明该图形标题的字符串。
xlabel(‘字符串’),ylabel(‘字符串’)
设置 x,y 坐标轴的名称。
输入特殊的文字需要用反斜杠(\)开头。
legend(‘字符串 1’,‘字符串 2’,…,‘字符串 n’)
在屏幕上开启一个小视窗,然后依据绘图命令的先后次序,用对应的字符串区分图
形上的线。
subplot(mnk):分割图形显示窗口
m:上下分割个数,n:左右分割个数,k:子图编号
semilogx:绘制以 x 轴为对数坐标(以 10 为底),y 轴为线性坐标的半对数坐标图
形。
semilogy:绘制以 y 轴为对数坐标(以 10 为底),x 轴为线性坐标的半对数坐标图
形。
3、控制系统的模型
控制系统的表示可用三种模型:传递函数、零极点增益、状态空间。每一种模型又
有连续与离散之分。为分析系统方便有时需要在三种模型间转换。MATLAB 提供了各
种命令,使我们可以很方便的完成这些工作,下面以连续系统为例简要说明有关命令。
1) 模型与表示式
① 传递函数模型
1
1 1 0
1
1 1 0
...
()
...
mm
mm
nn
nn
b s b s b s b
Gs
a s a s a s a
在 MATLAB 中直接用矢量组表示传递函数的分子、分母多项式系数,即:
5
num = [b
m
b
m-1
…… b
0
]; 表示传递函数的分子多项式系数
den = [a
n
a
n-1
…… a
0
]; 表示传递函数的分母多项式系数
sys = tf(num,den) tf 命令将 sys 变量表示成传递函数模型。
② 零极点增益模型
12
12
( )( )...( )
()
( )( )...( )
m
n
s z s z s z
G s k
s p s p s p
在 MATLAB 中用 z、p、k 矢量组分别表示系统的零点、极点和增益,即:
z = [ z
1
z
2
…… z
m
];
p = [ p
1
p
2
…… p
n
];
k =[ k ];
sys = zpk(z,p,k) zpk 命令将 sys 变量表示成零极点增益模型。
③ 状态空间模型
x = ax + bu
y = cx + du
在 MATLAB 中用(a、b、c、d)矩阵组表示,然后
sys = ss(a,b,c,d) ss 命令将 sys 变量表示成状态空间模型。
2) 模型间的转换
在 MATLAB 中进行模型间转换的命令有:
ss2tf、ss2zp、tf2ss、tf2zp、zp2tf、zp2ss
它们之间的作用可由下面的示意图表示:
ss2tf tf2ss zp2tf tf2zp
zp2ss
ss2zp
3) 模型间的关系与系统建模
实际工作中常常需要由多个简单系统构成复杂系统,MATLAB 中有下面几种命令
可以解决两个系统间的连接问题。
① 系统的并联
parallel 命令可以实现两个系统的并联。 命令格式:
零极点增益模型
传递函数模型
状态空间模型
剩余49页未读,继续阅读
z_1966
- 粉丝: 55
- 资源: 118
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- stc12c5a60s2 例程
- Android通过全局变量传递数据
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0