Matlab实验19.docx
- 文档编号:5987887
- 上传时间:2023-01-02
- 格式:DOCX
- 页数:18
- 大小:128.46KB
Matlab实验19.docx
《Matlab实验19.docx》由会员分享,可在线阅读,更多相关《Matlab实验19.docx(18页珍藏版)》请在冰豆网上搜索。
Matlab实验19
实验一、MATLAB语言的数值运算
1、实验目的
(1)学习MATLAB语言的基本矩阵运算;
(2)学习MATLAB语言的点运算;
(3)学习复杂运算;
2、实验内容
在下面的实验操作中,认真记录每项操作的作用和目的。
(1)基本矩阵运算
1)创建数值矩阵。
键入
a=[123;456;789];
观察
a
a(3,2)
a(:
1)
键入
t=1:
10;
u=0:
0.1:
10;
观察矩阵变量t,u的值。
键入
a(:
3)=[2;3;4];
a
观察矩阵a的变化。
2)创建特殊矩阵
键入
a=ones(3,3);
b=zeros(2,2);
c=eye(4);
magic(4);
观察特殊矩阵。
3)练习矩阵运算
键入
a=[010;001;-6-11-6];
b=[12;34;56];
c=[110;011];
作矩阵乘运算
v1=c*a
v2=a*b
v3=c*a*b
v4=b*c
v5=c*b
矩阵乘方运算
a^2
a^(1/2)
矩阵加减运算
a1=a+b*c
a2=c*b-a(1:
2,1:
2)
a3=a(1:
2,2:
3)+c*b
矩阵右除
ar=c/a
矩阵左除
a1=a\b
4)练习矩阵特征运算
选定某一矩阵完成如下矩阵特征运算
a’,inv(a),diag(a),poly(a),rank(a),det(a),trace(a),eig(a)
(2)Matlab语言的点运算
a1=[12;34];
a2=0.2*a1;
观察
[a1a2]
[a1.*a2a1./a2]
(3)多项式运算
1)建立多项式向量
ap=[1331] ;
b=[-1-2-3] ;
bp=poly(b)
2)练习多项式乘与求根。
p=conv(ap,bp)
roots(p)
3)练习多项式运算。
a=[1234];x=[245;-103;215]
polyvalm(a,x)
实验二、MATLAB语言的符号运算
1、实验目的
(1)学习MATLAB语言的基本符号运算;
(2)学习MATLAB语言的矩阵符号运算;
2、实验内容
(1)基本符号运算
1)符号微分、积分
symst
f1=sin(2*t);
df1=diff(f1)
if1=int(f1)
2)泰勒级数展开
tf1=taylor(f1,8)
3)符号代数方程求解
symsabcx;
f=a*x^2+b*x+c;
ef=solve(f)
4)符号微分方程求解
f=’D2x+2*Dx+10*x=0’;g=’Dx(0)=1,x(0)=0’;
dfg=dsolve(f,g)
求满足初始条件的二阶常系数齐次微分方程的特解:
5)积分变换
symst
f1=exp(-2*t)*sin(5*t)
F1=laplace(f1)
F2=ilaplace(F1)
(2)符号矩阵运算
1)创建与修改符号矩阵
G1=sym(‘[1/(s+1),s/(s+1)/(s+2);1/(s+1)/(s+2),s/(s+2)]’)
G2=subs(G1,G1(2,2),’0’)
G3=G1(1,1)
2)常规符号运算
symss
d1=1/(s+1);d2=1/(s+2);d=d1*d2
ad=sym(‘[s+1s;0s+2]’);
G=d*ad
n1=[12345];n2=[123];
p1=poly2sym(n1);p2=poly2sym(n2);
p=p1+p2
pn=sym2poly(p)
实验三、Matlab语言的绘图
一、实验目的
(1)学习Matlab的各种二维绘图;
(2)学习Matlab的三维绘图;
二、实验内容
(1)基本二维绘图
1)向量绘图。
x=0:
2*pi/100:
2*pi;
y1=sin(2*x);y2=cos(2*x);
plot(x,y1)
plot(x,y2)
plot(x,y1,x,y2)
保持作图
plot(x,y1);holdon;
plot(x,y2);holdoff;
矩阵作图
plot(x’,[y1’y2’])
设定颜色和线型
plot(x,y1,’c:
’,x,y2,’ro’)
多窗口绘图
figure
(1) ;plot(x,y1) ;
figure
(2) ;plot(x,y2) ;
子图绘图
subplot(221) ;plot(x,y1) ;
subplot(222) ;plot(x,y2) ;
subplot(223) ;plot(x,y1,x,y1+y2) ;
subplot(224) ;plot(x,y2,x,y1-y2) ;
复变函数绘图
w=0.01 :
0.01 :
10 ;
G=1./(1+2*w*i) ;
subplot(121) ;plot(G) ;
subplot(122) ;plot(real(G),imag(G)) ;
插值绘图
x=0 :
2*pi/8 :
2*pi ;y=sin(x) ;
plot(x,y,’o’);holdon;
xi=0:
2*pi/100:
2*pi;
yi=spline(x,y,xi);
plot(xi,yi,’m’);
2)函数绘图
fplot(‘sin’,[04*pi])
f=’sin(x)’;fplot(f,[04*pi])
fplot(‘sin(1/x)’,[0.010.1],1e-3)
fplot(‘[tan(x),sin(x),cos(x)]’,[-2*pi,2*pi,-2*pi,2*pi])
3)符号函数快捷绘图
symsx
f=exp(-0.5*x)*sin(x);
explot(f,[0,10])
(2)多种二维绘图
1)极坐标绘图
t=0:
2*pi/180:
2*pi;
mo=cos(2*t);
polar(t,mo) ;
2)直方图
t=0:
2*pi/8:
2*pi;
y=sin(t);
bar(t,y)
3)阶梯图
t=0:
2*pi/8:
2*pi;
y=sin(t);
stairs(t,y)
(3)图形注释
y1=dsolve(‘D2u+2*Du+10*u=0’,’Du(0)=1,u(0)=0’,’x’) ;
y2=dsolve(‘D2u+2*Du+10*u=1’,’Du(0)=0,u(0)=0’,’x’) ;
ezplot(y1,[0,5]) ;holdon ;ezplot(y2,[0,5]) ;
axis([0,5,-0.1,0.2])
title(‘二阶系统时间响应’);%图题标注
xlable(‘时间t’) ;ylable(‘响应幅值y’) ;%坐标标注
gtext( ‘零输入响应’);%用鼠标作曲线标注
gtext( ‘零状态响应’);%用鼠标作曲线标注
grid ;ho ldoff ;%加网格线
(4)三维绘图
1)三维线图
t=0 :
pi/50 :
10*pi ;
plot3(sin(t),cos(t),t) ;
comet3(sin(t),cos(t),t) ;
2)单变量高度网线图
Z2=[11 ;1-1] ;
Z4=[Z2Z2 ;Z2–Z2] ;
Z8=[Z4Z4 ;Z4–Z4] ;
mesh(Z8) ;
实验四、控制系统的阶跃响应
一实验目的
(3)观察学习控制系统的单位阶跃响应;
(4)记录单位阶跃响应曲线
(5)观察时间响应分析的一般方法
二、实验步骤
(1)运行MATLAB
在Windows界面上用鼠标双击MATLAB
图标,即可打开MATLAB命令窗口
(2)建立系统模型
1)传递函数模型(TF)
由于用
和
可以唯一地确定一个系统,因此在MATLAB中可以用向量
;
来表示传递函数G(s)的TF模型为
;
sys=tf(num,den)
2)zpk模型
由于用m个零点、n个极点及增益k可以唯一地确定一个系统,因此在MATLAB中可用向量
;
;
来表示系统G(s)的zpk模型。
;
;
;
;
3)MATLAB的阶跃响应函数
阶跃响应函数
step(sys)
step(sys,tf)
step(sys,t)
step(sys1,sys2,…,t)
[y,t]=step(sys)
[y,t,x]=step(sys)
函数功能:
给定系统数学模型sys,求系统的单位阶跃响应。
例1
MATLAB程序为
num=[4];den=[114];
sys=tf(num,den);
step(sys);
画出阶跃响应曲线。
阻尼特征函数为
damp(den)
函数功能:
给定特征多项式系数向量,计算系统的闭环根、阻尼比、无阻尼振荡频率。
三、实验内容
(1)二阶系统为
1)键入程序,观察、记录阶跃响应曲线
2)键入
num=[10];den=[1210];sys=tf(num,den);
damp(den)
计算系统的闭环根、阻尼比、无阻尼振荡频率,并作记录。
键入
step(sys)
[y,t,x]=step(sys);%返回变量输出y与时间t(变量x为状态变量矩阵)
[y,t’]%显示输出向量y与时间向量t
记录实际测取的峰值大小
、峰值时间
、过渡时间
,填入下表并与理论计算值相比较。
表1阶跃响应数据
实际值
峰值
峰值时间
(2)修改参数,分别实现
的响应曲线,并作记录。
程序:
n0=10;d0=[1210];step(n0,d0)%原系统
holdon%保持原曲线
n1=n0;d1=[16.3210];step(n1,d1)%系统1
n2=n0;d2=[112.6410];step(n2,d2)%系统2
修改参数,分别实现
、
的响应曲线,并作记录。
(3)试作出以下系统的阶跃响应,并比较与原系统响应曲线的差别与特点,作出相应的实验分析结果。
1)
有系统零点情况:
2)
分子、分母多项式阶数相等:
n=m=2
3)
分子多项式零次项系数为零
4)
原响应的微分,微分比例为1/10
实验五、控制系统的根轨迹作图
一、实验目的
(1)利用计算机完成控制系统的根轨迹作图
(2)了解控制系统根轨迹图的一般规律;
(3)利用根轨迹进行系统分析
二、实验步骤
(1)在Windows界面上双击Matlab图标,即可打开Matlab命令平台。
(2)练习相关m函数。
根轨迹作图函数
rlocus(sys)
rlocus(sys,k)
r=rlocus(sys)
[r,k]=rlocus(sys)
函数功能:
绘制系统根轨迹图或者计算绘图变量。
例1系统开环传递函数为
根轨迹作图程序为
k=1;%zpk模型的增益值
z=[];%零点
p=[0,-1,-2];%极点
sys=zpk(z,p,k);
rlocus(sys)
作出根轨迹图。
零点极点位置绘图函数
pzmap(sys)
[p,z]=pzmap(sys)
函数功能:
给定系统数学模型,作出零点极点位置图。
例2系统传递函数为
程序为
num=[2-2];den=[141420];
sys=tf(num,den);
pzmap(num,den)
画出零极点图。
闭环根查询函数
[k,poles]=rlocfind(sys)
[k,poles]=rlocfind(sys,p)
函数功能:
用鼠标确定根轨迹上某一点的增益值k和该点对应的n闭环根。
例3系统开环传递函数为
num=[2-2];den=[141420];
sys=tf(num,den);
rlocus(sys);
[k,r]=rlocfind(sys)
在图上选择一个闭环极点,画出图,并返回该点的增益值k和该点对应的所有闭环根。
三、实验内容
给定如下各系统的开环传递函数,做出它们的根轨迹图,并完成给定要求。
(1)
要求:
1)准确记录根轨迹的起点、终点与根轨迹条数;
2)确定根轨迹的分离点与相应的根轨迹增益;
3)确定临界稳定时的根轨迹增益
(2)
要求:
确定根轨迹与虚轴交点并确定系统稳定的根轨迹增益
范围。
实验六控制系统的博德图
1、实验目的
(1)利用计算机作出开环系统的博德图
(2)观察记录控制系统的开环频域性能
(3)控制系统的开环频率特性分析
2、实验步骤
(1)在Windows界面上双击Matlab图标,即可打开Matlab命令平台
(2)练习相关m函数
博德图绘图函数
bode(sys)
bode(sys,{wmin,wmax})
bode(sys,w)
[m,p,w]=bode(sys)
函数功能:
对数频率特性作图函数,即博德图作图
稳定裕度函数
margin(sys)
[Gm,Pm,wg,wp]=margin(sys)
[Gm,Pm,wg,wp]=margin(m,p,w)
函数功能:
计算系统的稳定裕度、相位裕度Gm和幅值裕度Pm
例1系统开环传递函数为
绘制博德图。
作图程序如下:
num=[10];
den=[1210];
bode(num,den);
3、实验内容
(1)
要求:
由稳定裕度命令计算系统的稳定裕度
和
,并确定系统的稳定性。
(2)已知系统结构图如下:
分别令
1)
2)
要求:
作博德图并将曲线保持(holdon),分别计算2个系统的稳定裕度值,并做时域仿真验证(提示:
分别作阶跃响应曲线,分析是否稳定)。
4、实验报告要求
(1)记录给定系统与显示的博德图
(2)完成上述各题要求
实验七控制系统的极坐标图
一、实验目的
(1)利用计算机作出开环系统的极坐标图;
(2)极坐标图系统分析
二、实验步骤
(1)在Windows界面上双击Matlab图标,即可打开Matlab命令平台
(2)练习m函数
极坐标绘图函数
nyquist(sys)
nyquist(sys,w)
[re,im,w]=nyquist(sys)
函数功能:
奈奎斯特轨线作图命令,即极坐标图。
例系统开环传递函数为
绘制极坐标图。
作图程序如下:
num=[0010];
den=[1210];
sys=tf(num,den);
nyquist(sys);
如果作图趋势不明显,可用下述方法改进:
1)使用命令axis()改变坐标显示范围。
2)给定角频率变量
w=0:
0.1:
100;
nyquist(sys,w);
绘制极坐标图。
三、实验内容
(1)
要求:
作极坐标图。
如展示不清,可改变坐标范围或者设定角频率变量
(w=w1:
△w:
w2)。
(2)
or
要求:
1)作极坐标图。
可改变坐标范围或者设定角频率变量w。
2)比较
时与
时两图的区别与特点。
(3)
or
要求:
1)作极坐标图。
可改变坐标范围或者设定角频率变量w。
2)比较
时与
时两图的区别与特点。
四、实验报告要求
(1)认真做好实验记录;
(2)完成上述各题给定要求。
实验八设计一个GUI
一、实验目的:
通过设计一个图形用户界面,同学们可以掌握编制出实用的GUI图形用户界面的方法。
二、实验内容:
(1)各种对话框的创建
(2)菜单和控件的设计
三、实验报告要求
(1)认真做好实验记录;
(2)按上述实验内容完成实验报告。
实验九、Simulink仿真
一、实验目的
学习结构图编程,掌握结构图系统文件的设计方法。
二、实验步骤
(1)在Windows界面上双击Matlab图标,即可打开Matlab命令平台。
(2)键入命令simulink,打开结构图设计界面。
(3)建立时域仿真的结构图文件mysimu.m
Simulink时域仿真给定结构图
三、实验要求
(1)作原系统的根轨迹图
(2)求出闭环极点的位置,计算时域性能
和
。
公式:
超调量
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Matlab 实验 19