MATLAB实验报告
一、控制系统的阶跃响应
1、实验目的
(1)学习控制系统的单位阶跃响应。
(2)记录单位阶跃响应曲线。
(3)掌握阶跃响应分析的一般方法
2、实验步骤
1)、二阶系统为G(s)=10/(s^2+2s+10),启动MATLAB,建立M 文件,输入程序。
2)、保存并运行,观察实验曲线,分析结果。
3、试验程序及结果
clc
clear
close all
num=[10];
den=[1 2 10];
printsys(num,den);
figure
step(num,den);
title('num=[10] den=[1 2 10]')
4、实验分析
(1)分析系统的阻尼比和无阻尼振荡频率对系统阶跃响应和脉冲响应的影响;
系统的阻尼比(0<ζ<1)越大,其阶跃响应超调量越小,上升时间越长;系统的阻尼比ζ决定了其振荡特性:0<ζ<1时,有振荡,ζ>1 时,无振荡、无超调,阶跃响应非周期趋于稳态输出。系统的无阻尼振荡频率越大,阶跃响应的反应速度越快。
(2)分析响应曲线的零初值、非零初值与系统模型的关系;
当分子、分母多项式阶数相等时响应曲线初值为非零初值,当分子多项式的阶数低于分母多项式的结束时相应曲线的初值为零初值。
(3)分析响应曲线的稳态值与系统模型的关系;
当分子、分母多项式阶数相等时响应曲线稳态值为0;当分子多项式的阶数低于分母多项式的结束时相应曲线的稳态值为1.
(4)分析系统零点对阶跃响应曲线和单位脉冲响应曲线的影响;
当系统存在不稳定零点(即右半平面零点)时,系统的阶跃响应可能有向下的峰值。
二、控制系统的脉冲响应
1、实验目的
(1)学习控制系统的单位脉冲响应。
(2)记录时间响应曲线。
(3)掌握时间响应分析的一般方法。
2、实验步骤
1)启动MATLAB,建立M 文件,输入程序。
2) 保存并运行,观察实验曲线,分析结果。
3、实验程序及结果
a=[-0.5572 -0.7814;0.7814 0];
b=[1 -1;0 2];
c=[1.9691 6.4493];
G=ss(a,b,c,0);
impulse(G)
4、实验分析
(1)分析系统的阻尼比和无阻尼振荡频率对系统阶跃响应和脉冲响应的影响;
系统的阻尼比(0<ζ<1)越大,其阶跃响应超调量越小,上升时间越长;系统的阻尼比ζ决定了其振荡特性:0<ζ<1时,有振荡,ζ>1 时,无振荡、无超调,阶跃响应非周期趋于稳态输出。系统的无阻尼振荡频率越大,阶跃响应的反应速度越快。
(2)分析响应曲线的零初值、非零初值与系统模型的关系;
当分子、分母多项式阶数相等时响应曲线初值为非零初值,当分子多项式的阶数低于分母多项式的结束时相应曲线的初值为零初值。
(3)分析响应曲线的稳态值与系统模型的关系;
当分子、分母多项式阶数相等时响应曲线稳态值为0;当分子多项式的阶数低于分母多项式的结束时相应曲线的稳态值为1.
(4)分析系统零点对阶跃响应曲线和单位脉冲响应曲线的影响;
当系统存在不稳定零点(即右半平面零点)时,系统的阶跃响应可能有向下的峰值。
三、控制系统的根轨迹作图
1、实验目的
(1)直观了解LTI系统的根轨迹分析法。
(2)加深对连续LTI系统的根轨迹分析法的理解。
(3)了解MATLAB相关函数的调用格式及作用。
(4)加深对连续LTI系统的时域分析的基本原理与方法的理解和掌握。
2、实验步骤
1)启动MATLAB,建立M 文件,输入程序。
2) 保存并运行,观察实验曲线,分析结果。
3、试验程序及结果
clear
n=[1];d=conv([1 1 0],[0.5 1]);
sys=tf(n,d);rlocus(sys)
[k,poles]=rlocfind(sys)
4、实验分析
当十字光标指向根轨迹与纵坐标的交点时,对应的开环增益与极点是
K=2.9557
poles=-2.9919
-0.0040+1.4056i
-0.0040-1.4056i
当参数k由0到3变动时,根轨迹均在S平面纵坐标的左侧,对应的系统闭环是稳定的。一旦根轨迹穿越纵坐标到达其右侧,对应的k>3,那么系统就不稳定了。
四、控制系统的波特图
1、实验目的
(1)利用计算机作出开环系统的波特图。
(2)观察并记录控制系统的开环频率特性。
(3)控制系统的开环频率特性分析。
2、实验步骤
1)启动MATLAB,建立M 文件,输入程序。
2)保存并运行,观察实验曲线,分析结果。
3、实验程序及结果
num=[0 0 0 2.7];
den=[1 5 4 0];
s1=tf(num,den);
[Gm,Pm,Wcp,Wcg]=margin(s1)
margin(s1)
4、实验分析
改程序运行后,计算出频域性能指标:
即模值稳定裕度:Lh=20lg7.4074=17.4dB
相角稳定裕度:51.7
-π穿越频率:Wg=2rad/s
相位穿越频率:Wc=0.5783rad/s
这些频域性能指标数据说明系统不仅稳定,而且还有很大的稳定裕度。
五、频率法超前校正
1、实验目的
(1)学习结构图编程,掌握结构图M文件的设计方法。
(2)对于给定的控制系统,设计满足频域性能指标的超前校正装置,并通过仿真结果验证校正设计的准确性。
2、实验步骤
1)启动MATLAB,建立M 文件,输入程序。
2)保存并运行,观察实验曲线,分析结果。
3、实验程序及结果
numh=conv(num,numc);
denh=conv(den,denc);
Wh=tf(numh,denh);
bode(Wh);
Margin(Wh);
[Gm,Pm,wj,wc]=Margin(Wh);
grid;
超前装置波特图
4、实验分析
这种校正主要对未校正系统中频段进行改变,使校正后中频段幅值的斜率为-20dB/dec,且有足够大的相位裕度。
第二篇:MATLAB实验报告1
学生实验报告
一、实验目的 熟悉MATLAB软件的用户环境;了解MATLAB软件的一般命令;掌握MATLAB向量、数组、矩阵操作与运算函数;掌握MATLAB软件的基本绘图命令;掌握MATLAB语言的几种循环、条件和开关选择结构,及其编程规范。
通过该实验的学习,使学生能灵活应用MATLAB软件解决一些简单问题,能借助MATLAB软件的绘图功能,对函数的特性进行探讨,广泛联想,大胆猜想,发现进而证实其中的规律。
二、实验仪器、设备或软件: 电脑,MATLAB软件
三、实验内容 1.MATLAB软件的数组操作及运算练习;
2.直接使用MATLAB软件进行作图练习;
3.用MATLAB语言编写命令M文件和函数M文件。
四、实验步骤
1.在D盘建立一个自己的文件夹;
2.开启软件平台——MATLAB,将你建立的文件夹加入到MATLAB的搜索路径中;
3.利用帮助了解函数max, min, sum, mean, sort, length,rand, size和diag的功能和用法;
4.开启MATLAB编辑窗口,键入你编写的M文件(命令文件或函数文件);
5.保存文件(注意将文件存入你自己的文件夹)并运行;
6.若出现错误,修改、运行直到输出正确结果;
7.写出实验报告,并浅谈学习心得体会。
五、实验要求与任务
根据实验内容和步骤,完成以下具体实验,要求写出实验报告(实验目的→问题→算法与编程→计算结果或图形→心得体会)
1. 已知矩阵,
要求:(1)屏幕输出A与B;(2)A的转置A′;(3)求A+B的值;(4)求A-B的值;(5)求4A;(6)求A×B;(7)求A-1.
2. 有一函数f(x,y)=x2+sinxy+2y,写一程序,输入自变量的值,输出函数值。
3. 用plot,fplot分别绘制函数y=cos(tan(x))图形。
4. 绘制函数在上的图形。
5. 作出下列曲面的三维图形:
6.建立一个M文件:求所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字的立方和等于该数本身。例如:153是一个水仙花数,因为153=13+53+33。
六、实验过程(实验步骤、记录、数据、分析)
1. 已知矩阵,
要求:(1)屏幕输出A与B;(2)A的转置A′;(3)求A+B的值;(4)求A-B的值;(5)求4A;(6)求A×B;(7)求A-1.
结果:
>> A=[3 1 1;2 1 2;1 2 3]
B=[1 1 -1;2 -1 0;1 0 1]
A =
3 1 1
2 1 2
1 2 3
B =
1 1 -1
2 -1 0
1 0 1
>> A'=
??? A'=
|
Error: The expression to the left of the equals sign is not a valid target for an
assignment.
>> A'
ans =
3 2 1
1 1 2
1 2 3
>> A+B
ans =
4 2 0
4 0 2
2 2 4
>> A-B
ans =
2 0 2
0 2 2
0 2 2
>> 4*A
ans =
12 4 4
8 4 8
4 8 12
>> A*B
ans =
6 2 -2
6 1 0
8 -1 2
>> 1./A
ans =
0.3333 1.0000 1.0000
0.5000 1.0000 0.5000
1.0000 0.5000 0.3333
>>
注意:在求解A’等矩阵算法时不能自己加等号。
2. 有一函数f(x,y)=x2+sinxy+2y,写一程序,输入自变量的值,输出函数值。
建立M文件:fun.m
function f=fun(x,y)
f=x^2+sin(x*y)+2*y
在MATLAB命令窗口键入命令:
>> x=1,y=1
fun(x,y)
结果:
x =
1
y =
1
f =
3.8415
ans =
3.8415
注意事项:1,function不能写成funtion,细心!!!
2,文件名与函数名相同。
3. 用plot,fplot分别绘制函数y=cos(tan(x))图形。
程序:
x=linspace(-0.5,0.5,30);
y=cos(tan(pi*x));
plot(x,y)
结果:
fplot('[cos(tan(pi*x))]',[-0.5,0.5])
结果:
注意事项: fplot('[cos(tan(pi*x))]',[-0.5,0.5])不能写成fplot('[cos(tan(pi*x))]',(-0.5,0.5))否则是错误程序。
4. 绘制函数在上的图形。
程序:a=input('please input a=');
t=linspace(0,2*pi,100);
x=a*(sin(t.^3));
y=a*(t-cos(t).^3);
plot(x,y);
please input a=10
5. 作出下列曲面的三维图形:
程序:u=0:pi/50:2*pi;
v=0:pi/50:2*pi;
[u,v]=meshgrid(u,v);
x=(1+cos(u)).*cos(v);
y=(1+cos(u)).*sin(v);
z=sin(u);
plot3(x,y,z);-------也可以是meshz(x,y,z);
图形如下:
6.建立一个M文件:求所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字的立方和等于该数本身。例如:153是一个水仙花数,因为153=13+53+33。
程序: >> for m=100:999
m1=fix(m/100);
m2=rem(fix(m/10),10);
m3=rem(m,10);
if m==m1^3+m2^3+m3^3;
disp(m)
end
end
结果:
153
370
371
407
七、指导教师评语及成绩: