MATLAB实验报告.docx

上传人:b****7 文档编号:11370963 上传时间:2023-02-28 格式:DOCX 页数:46 大小:840.92KB
下载 相关 举报
MATLAB实验报告.docx_第1页
第1页 / 共46页
MATLAB实验报告.docx_第2页
第2页 / 共46页
MATLAB实验报告.docx_第3页
第3页 / 共46页
MATLAB实验报告.docx_第4页
第4页 / 共46页
MATLAB实验报告.docx_第5页
第5页 / 共46页
点击查看更多>>
下载资源
资源描述

MATLAB实验报告.docx

《MATLAB实验报告.docx》由会员分享,可在线阅读,更多相关《MATLAB实验报告.docx(46页珍藏版)》请在冰豆网上搜索。

MATLAB实验报告.docx

MATLAB实验报告

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

 

专业:

班级:

学号:

姓名:

指导教师:

 

实验1、MATLAB/Simulink仿真基础及控制系统模型的建立

一、实验目的

1、掌握MATLAB/Simulink仿真的基本知识;

2、熟练应用MATLAB软件建立控制系统模型。

二、实验设备

电脑一台;MATLAB仿真软件一个

三、实验内容

1、熟悉MATLAB/Smulink仿真软件。

2、一个单位负反馈二阶系统,其开环传递函数为

用Simulink建立该控制系统模型,用示波器观察模型的阶跃响应曲线,并将阶跃响应曲线导入到MATLAB的工作空间中,在命令窗口绘制该模型的阶跃响应曲线。

图1系统结构图

图2示波器输出结果图

3、某控制系统的传递函数为

,其中

用Simulink建立该控制系统模型,用示波器观察模型的阶跃响应曲线,并将阶跃响应曲线导入到MATLAB的工作空间中,在命令窗口绘制该模型的阶跃响应曲线。

图3系统结构图图4示波器输出结果图

图5工作空间中仿真结果图形化输出

4、一闭环系统结构如图所示,其中系统前向通道的传递函数为

,而且前向通道有一个[-0.2,0.5]的限幅环节,图中用N表示,反馈通道的增益为1.5,系统为负反馈,阶跃输入经1.5倍的增益作用到系统。

用Simulink建立该控制系统模型,用示波器观察模型的阶跃响应曲线,并将阶跃响应曲线导入到MATLAB的工作空间中,在命令窗口绘制该模型的阶跃响应曲线。

图6系统结构图

图7示波器输出结果

 

实验2MATLAB/Simulink在控制系统建模中的应用

一、实验目的

1、掌握MATLAB/Simulink在控制系统建模中的应用;

二、实验设备

电脑一台;MATLAB仿真软件一个

三、实验内容

1、给定RLC网络如图所示。

其中,

为输入变量,

为输出变量。

求解这个系统的传递函数模型,零极点增益模型以及状态空间模型(假设

)。

传递函数模型

程序代码如下:

clearall;%清除工作空间的变量

num=[0,1];%定义分子多项式

den=[122];%定义分母多项式

sy_tf=tf(num,den);%建立传递函数模型

[z,p,k]=tf2zp(num,den)%从传递函数模型获取系统的零极点增益

sy_zpk=zpk(z,p,k);%建立系统的零极点增益模型

[A,B,C,D]=zp2ss(z,p,k);%从零极点增益模型获取系统的状态空间模型

sys_ss=ss(A,B,C,D)%建立系统的状态空间模型

step(sy_tf)%求解系统的阶跃响应

gridon;%添加栅格

程序运行结果

z=Emptymatrix:

0-by-1

p=-1.0000+1.0000i

-1.0000-1.0000i

k=1

a=x1x2

x1-2-1.414

x21.4140

b=u1

x11

x20

c=x1x2

y100.7071

d=u1

y10

Continuous-timemodel.

图1系统的阶跃响应曲线

2、已知某双环调速的电流环系统的结构图如图所示。

试采用Simulink动态结构图求其线性模型。

图2simulink中的系统动态模型

将图2模型存为“Samples_4_14.mdl”文件

在MATLAB命令窗口运行以下命令,得到一个线性状态空间模型(A,B,C,D)。

[A,B,C,D]=linmod('Samples_4_14');%提取simulink模型的状态空间模型

输出结果如下

A=1.0e+003*

-0.07810001.7964

0-0.5000000

0.01410-0.500000

00.5000-0.500000

00.1600-0.16000.0250-0.0599

B=0

1

0

0

0

C=195.31250000

D=0

在MATLAB命令窗口运行以下命令

[num,den]=ss2tf(A,B,C,D);%将状态空间模型转换为传递函数模型

pritfsys(num,den,'s');%以传递函数模型形式显示出来

输出结果:

num/den=4.5475e-013s^4+5.8208e-011s^3+56137724.5509s^2+32454622005.9881s

+2192879865269.464

-----------------------------------------------------------------------------

s^5+1138.0052s^4+392683.3832s^3+43221369.7605s^2+3506268712.5749s

+157********9.4013

 

实验3MATLAB/Simulink在时域分析法中的应用

一、实验目的

1、掌握时域分析中MATLAB/Simulink函数的应用;

2、掌握MATLAB/Simulink在稳定性分析中的应用。

二、实验设备

电脑一台;MATLAB仿真软件一个

三、实验内容

1、某随动系统的结构如图所示。

利用MATLAB完成如下工作:

(1)对给定的随动系统建立数学模型;

(2)分析系统的稳定性,并且绘制阶跃响应曲线;(3)计算系统的稳态误差;(4)大致分析系统的总体性能,并给出理论上的解释。

图1系统的结构图

解:

利用MATLAB求解的基本步骤如下

1.求取系统传递函数

clc;

clearall;

num1=[20];den1=[120];

sys1=tf(num1,den1);%二阶系统的传递函数

num2=[0.10];den2=[01];

sys2=tf(num2,den2);%微分环节传递函数

sys_inner=feedback(sys1,sys2);%内环反馈的传递函数

sys_outer=feedback(sys_inner,1)%外环反馈的传递函数

20

--------------

s^2+4s+20

得到系统的传递函数

2.进行稳定性分析

den=[1420];

roots(den)%求闭环系统特征多项式的根

pzmap(sys_outer);%利用pzmap命令绘制系统的零极点图

gridon;

程序运行结果

ans=

-2.0000+4.0000i

-2.0000-4.0000i

由结果可知,系统特征根都具有负实部,因此闭环系统是稳定的。

系统零极点分布图如图2所示

图2系统零极点分布图

3.求阶跃响应

num=[20];den=[1420];

[y,t,x]=step(num,den)%计算闭环系统的阶跃响应

plot(x,y);%绘制阶跃响应曲线

gridon;

如下图3,横坐标表示响应时间,纵坐标表示系统输出

图3系统阶跃响应曲线

图4系统阶跃响应曲线

4.分析系统的响应特性

%计算系统的超调量

y_stable=1;%阶跃响应的稳态值

max_response=max(y);%闭环系统阶跃响应的最大值

sigma=(max_response-y_stable)%阶跃响应的超调量

程序运行结果

sigma=0.2076

系统稳态误差为0,波形图如下

图5系统误差曲线图

%计算系统的上升时间

fori=1:

length(y)%遍历响应曲线

ify(i)>y_stable%如果某个时刻系统的输出值大于稳态值

break;%循环中断

end

end

tr=x(i)%计算此时对应的时间,就是阶跃响应的上升时间

%计算系统的峰值时间

[max_response,index]=max(y);%查找系统阶跃响应的最大值

tp=x(index)%计算此时对应的时间,就是阶跃响应的峰值时间

%计算系统的调整时间---------》取误差带为2%

fori=1:

length(y)%遍历响应曲线

ifmax(y(i:

length(y)))<=1.02*y_stable%如果当前响应值在误差带内

ifmin(y(i:

length(y)))>=0.98*y_stable

break;%循环退出

end

end

end

ts=x(i)%计算此时对应的时间,就是阶跃响应的调整时间

程序运行结果

tr=0.5245

tp=0.7730

ts=1.8773

即上升时间为0.52秒,峰值时间0.77秒,并且系统在经过1.88秒后进入稳态。

2、已知某二阶系统的传递函数为

(1)将自然频率固定为

,分析

变化时系统的单位阶跃响应;

(2)将阻尼比

固定为

,分析自然频率

变化时系统的阶跃响应(

变化范围为0.1~1)。

(1)解:

利用MATLAB建立控制系统的数学模型,并且同时显示

=1,

取不同值时的阶跃响应曲线

clc;

clear;

t=linspace(0,20,200);%设置仿真时间

omega=1;%设置二阶系统的自然频率

omega2=omega^2;%计算自然频率的平方

zuni=[0,0.1,0.2,0.5,1,2,3,5];

num=omega2;

fork=1:

8

den=[12*zuni(k)*omegaomega2];

sys=tf(num,den);

y(:

k)=step(sys,t);

end

figure

(1);

plot(t,y(:

1:

8));

grid;

gtext('zuni=0');

gtext('zuni=0.1');

gtext('zuni=0.2');

gtext('zuni=0.5');

gtext('zuni=1');

gtext('zuni=2');

gtext('zuni=3');

gtext('zuni=5');

图1固定自然频率,阻尼比变化时系统的阶跃响应曲线

结论:

当固定频率后,改变阻尼比,在

<1不会改变阶跃响应的震荡频率;而当

>1时,阶跃响应曲线不再震荡,系统阻尼。

(2)绘制

=0.55,

从0.1变化到1是系统的阶跃响应曲线

clc;

clear;

t=linspace(0,20,200);%设置仿真时间

zuni=0.55;%设定阻尼系数

omega=[0.10.20.40.71];%设定自然频率向量

omega2=omega.*2;%计算自然频率的平方

fork=1:

5%循环五次,分别计算在五种不同的自然频率下系统的阶跃响应

num=omega2(k);

den=[12*zuni*omega(k)omega2(k)];

sys=tf(num,den);%系统传递函数

y(:

k)=step(sys,t);%计算当前自然频率下,二阶系统的阶跃响应值

end

figure

(2);

plot(t,y(:

1:

5));%在一幅图像上依次绘出上述5条阶跃响应曲线

grid;

gtext('omega=0.1');

gtext('omega=0.2');

gtext('omega=0.4');

gtext('omega=0.7');

gtext('omega=1.0');

图2固定阻尼系数,自然频率变化时系统的阶跃响应曲线

结论:

当自然频率

从0.1变化到1时,系统震荡频率加快,上升时间减少,过渡过程时间减少;系统响应更加迅速,动态性能更好。

自然频率

决定了系统阶跃响应的震荡频率。

实验4MATLAB/Simulink在根轨迹分析法中应用

一、实验目的

1、掌握MATLAB/Simulink绘制根轨迹函数;

2、掌握MATLAB/Simulink绘制根轨迹的方法。

二、实验设备

电脑一台;MATLAB仿真软件一个

三、实验内容

1、已知单位负反馈控制系统的开环传递函数

(1)画出这个系统的根轨迹;

(2)确定使闭环系统稳定的增益值

;(3)分析系统的阶跃响应性能;(4)利用rltool对系统的性能进行分析。

解:

利用MATLAB求解的基本步骤如下

1.建立系统的数学模型

代码

clc;

clear;

num=[11];

den=conv([10],conv([1-1],[14]));

sys=tf(num,den)%控制系统的开环传递函数模型

程序运行结果

Transferfunction:

s+1

-----------------

s^3+3s^2-4s

结果输出是用来绘制部分根轨迹的那部分传递函数

2.绘制根轨迹图

    rlocus(sys);%绘制系统的根轨迹曲线

gridon;

title('根轨迹图');

得到系统根轨迹如图1

图1系统根轨迹图

利用“rlocfind“命令计算选定点处的增益和其他闭环极点。

[k,poles]=rlocfind(sys)%计算选定点处的增益和其他闭环极点

运行结果

  k=6.2809

poles=-2.9488

-0.0256+1.4592i

-0.0256-1.4592ii

当增益K>6时,闭环系统的极点都位于虚轴的左部,处于稳定。

3.使用rltool进行分析

执行命令“rltool(sys)“得到根轨迹分析界面图形,图2所示

图2控制系统根轨迹分析与设计器

利用rltool进行工具分析系统的阶跃响应。

设定系统增益为20,可得到如图3的结果

分析,系统稳定,并且系统误差为0。

系统的穿越频率为1.41,相角稳定裕度为17,剪切频率为1.38。

图3K=20时系统的阶跃响应

 

实验5MATLAB/Simulink在频域分析法中的应用

一、实验目的

1、掌握MATLAB绘制伯德图和乃奎斯特曲线;

2、熟练应用MATLAB分析稳定裕度。

二、实验设备

电脑一台;MATLAB仿真软件一个

三、实验内容

1、已知晶闸管-直流电机开环系统结构图如图所示。

试用Simulink动态结构图进行频域分析并求频域性能指标。

 

解:

利用simulink求解步骤如下

步骤1在simulink中建立系统动态模型,如下图

图表1系统动态模型图

步骤2求取系统的线性空间状态模型,并求取频域性能指标

在MATLAB运行以下命令

[A,B,C,D]=linmod('Samples_7_9');%提取simulin系统的线性空间状态模型

sys=ss(A,B,C,D);

margin(sys);%求取频域性能指标

图表2系统的开环bode图和频域性能指标

从图中可以看出:

幅值裕度GM=26.4dB,穿越频率为152rad/sec

相位裕度PM=54deg,穿越频率为25.5rad/sec

实验6MATLAB_Simulink在控制系统校正中的应用

一、实验目的

1、掌握建立控制系统的数学模型及设计系统的串联校正装置;

2、了解校正前后系统性能的比较。

二、实验设备

电脑一台;MATLAB仿真软件一个

三、实验内容

1、某单位负反馈控制系统的开环传递函数

,设计一个串联的校正装置,使校正后的系统静态速度误差系数

,相角裕度

,增益裕量

解:

求解步骤如下

步骤1计算得系统开环传递函数

步骤2建立控制系统的数学模型

代码如下

clc;

clear;

num_open=[020];

den_open=conv(conv([10],[11]),[12]);

sys_open=tf(num_open,den_open)

运行结果

Transferfunction:

20

-----------------

s^3+3s^2+2s

步骤3分析系统的动态特性

[Gm,Pm,Wcg,Wcp]=margin(sys_open)%计算相角裕量和增益裕量

margin(sys_open);

运行结果

Gm=0.3000

Pm=-28.0814

Wcg=1.4142

Wcp=2.4253

频率响应特性曲线如下

图表1闭环系统的频率响应曲线

计算结果显示,未校正系统增益裕量只有—10.5,相角裕量为—28.0814,相角穿越频率为1.4142,幅值穿越频率为2.4253。

系统尚不稳定需要串联校正环节。

步骤4设计系统的串联校正装置

先设计止滞后环节。

假定校正后的系统增益穿越频率为1,并且取零极点之比为10,则滞后环节的传递函数为

%设计串联校正器的滞后环节

num_zhihou=[10.1];

den_zhihou=[10.01];

sys_zhihou=tf(num_zhihou,den_zhihou);%滞后环节的传递函数模型

sys_new=sys_open*sys_zhihou%加入滞后环节后系统的开环传递函数

margin(sys_new);%绘制加入滞后环节后系统的Bode曲线

图表2加入滞后环节的系统频率响应曲线

根据滞后校正得出的结果,相应设计超前校正校正环节为

,此时系统的频率响应如图表3.

%设计串联校正器的超前环节

num_chaoqian=[10.5];

den_chaoqian=[15];

sys_chaoqian=tf(num_chaoqian,den_chaoqian);

sys_new=sys_new*sys_chaoqian;

margin(sys_new);

图表3加入超前滞后校正环节后系统的频率响应曲线

从上图知,此时闭环系统的增益裕量为13.3,相角裕量为52.5,穿越频率为1.37;

%对比校正前后的系统频率响应

figure

(1);

bode(sys_open);

holdon;

bode(sys_new);

gtext('校正前的');gtext('校正后的');

gtext('校正前的');gtext('校正后的');

gridon

图表4系统校正前后不同的频率响应曲线

校正后的系统开环传递函数为

Transferfunction:

20s^2+12s+1

----------------------------------

s^5+8.01s^4+17.08s^3+10.17s^2+0.1s

步骤5比较教正前后的系统性能

%系统校正前后的阶跃响应曲线

figure

(2);

step(feedback(sys_open,1));

gridon;

figure(3);

step(feedback(sys_new,1));

gridon;

gtext('校正前的');gtext('校正后的');

gridon;

图表5系统校正前的阶跃响应曲线

图表6系统校正后的阶跃响应曲线

步骤6采用rltool工具进行校正分析

使用命令rltool(sys_open)校正结果如下图

图表7利用rltool进行校正环节设计

 

实验6MATLAB_Simulink在控制系统校正中的应用

一、实验目的

1、掌握建立控制系统的数学模型及设计系统的串联校正装置;

2、了解校正前后系统性能的比较。

二、实验设备

电脑一台;MATLAB仿真软件一个

三、实验内容

1、某单位负反馈控制系统的开环传递函数

,设计一个串联的校正装置,使校正后的系统静态速度误差系数

,相角裕度

,增益裕量

解:

求解步骤如下

步骤1计算得系统开环传递函数

步骤2建立控制系统的数学模型

代码如下

clc;

clear;

num_open=[020];

den_open=conv(conv([10],[11]),[12]);

sys_open=tf(num_open,den_open)

运行结果

Transferfunction:

20

-----------------

s^3+3s^2+2s

步骤3分析系统的动态特性

[Gm,Pm,Wcg,Wcp]=margin(sys_open)%计算相角裕量和增益裕量

margin(sys_open);

运行结果

Gm=0.3000

Pm=-28.0814

Wcg=1.4142

Wcp=2.4253

频率响应特性曲线如下

图表1闭环系统的频率响应曲线

计算结果显示,未校正系统增益裕量只有—10.5,相角裕量为—28.0814,相角穿越频率为1.4142,幅值穿越频率为2.4253。

系统尚不稳定需要串联校正环节。

步骤4设计系统的串联校正装置

先设计止滞后环节。

假定校正后的系统增益穿越频率为1,并且取零极点之比为10,则滞后环节的传递函数为

%设计串联校正器的滞后环节

num_zhihou=[10.1];

den_zhihou=[10.01];

sys_zhihou=tf(num_zhihou,den_zhihou);%滞后环节的传递函数模型

sys_new=sys_open*sys_zhihou%加入滞后环节后系统的开环传递函数

margin(sys_new);%绘制加入滞后环节后系统的Bode曲线

图表2加入滞后环节的系统频率响应曲线

根据滞后校正得出的结果,相应设计超前校正校正环节为

,此时系统的频率响应如图表3.

%设计串联校正器的超前环节

num_chaoqian=[10.5];

den_chaoqian=[15];

sys_chaoqian=tf(num_chaoqian,den_chaoqian);

sys_new=sys_new*sys_chaoqian;

margin(sys_new);

图表3加入超前滞后校正环节后系统的频率响应曲线

从上图知,此时闭环系统的增益裕量为13.3,相角裕量为52.5,穿越频率为1.37;

%对比校正前后的系统频率响应

figure

(1);

bode(sys_open);

holdon;

bode(sys_new);

gtext('校正前的');gtext('校正后的');

gtext('校正前的');gtext('校正后的');

gridon

图表4系统校正前后不同的频率响应曲线

校正后的系统开环传递函数为

Transferfunction:

20s^2+12s+1

----------------------------------

s^5+8.01s^4+17.08s^3+10.17s^2+0.1s

步骤5比较

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 院校资料

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1