首页 范文大全 古典文学 职场知识 中国文学 公文书信 外国名著 寓言童话 百家讲坛 散文/诗歌 美文欣赏 礼仪知识 民俗风情
  • 工作总结
  • 工作计划
  • 心得体会
  • 竞聘演讲
  • 会议发言
  • 爱国演讲
  • 就职演说
  • 开业开幕
  • 思想学习
  • 征文演讲
  • 经验材料
  • 述职报告
  • 调研报告
  • 工作汇报
  • 年终总结
  • 申报材料
  • 学习体会
  • 企划方案
  • 活动方案
  • 技巧经验
  • 模板范例
  • 思想宣传
  • 经济工作
  • 工作报告
  • 组织人事
  • 反腐倡廉
  • 慰问贺电
  • 先进事迹
  • 思想汇报
  • 入党申请书
  • 党会发言
  • 先进性教育
  • 入团申请书
  • 个人简历
  • 演讲稿
  • 调查报告
  • 实习报告
  • 和谐社会
  • 观后感
  • 读后感
  • 作文范文
  • 自我鉴定
  • 讲话稿
  • 自查报告
  • MATLAB实验报告

    时间:2020-10-19 12:09:46 来源:蒲公英阅读网 本文已影响 蒲公英阅读网手机站

    相关热词搜索:实验 报告 MATLAB

     《M ATL ABk /Simulink 与控制系统仿真》实验报告

     专

     业:

     班

     级:

     学

     号:

      姓

     名:

      指导教师:

      实验1、 MA T LA B /Si mu lin k仿真基础及控制系统模型得建立

     一、实验目得 1、掌握 MATLAB/Simulink 仿真得基本知识; 2、熟练应用MATLAB 软件建立控制系统模型. 二、实验设备 电脑一台;MATLAB 仿真软件一个 三、实验内容

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

     2、一个单位负反馈二阶系统,其开环传递函数为。用 Simulink建立该控制系统模型,用示波器观察模型得阶跃响应曲线,并将阶跃响应曲线导入到 MATLAB 得工作空间中,在命令窗口绘制该模型得阶跃响应曲线。

      图 1 系统结构图

     图 错误! ! 未定义书签。示波器输出结果图 3、某控制系统得传递函数为,其中。用 Simulink建立该控制系统模型,用示波器观察模型得阶跃响应曲线,并将阶跃响应曲线导入到 MATLAB得工作空间中,在命令窗口绘制该模型得阶跃响应曲线。

     图 2 系统结构图

      图 错误! ! 未定义书签。

     示波器输出结果图

      图 错误! ! 不能识别的开关参数。

     工作空间中仿真结果图形化输出 4、一闭环系统结构如图所示,其中系统前向通道得传递函数为,而且前向通道有一个[—0、2,0、5]得限幅环节,图中用 N 表示,反馈通道得增益为1、5,系统为负反馈,阶跃输入经 1、5 倍得增益作用到系统.用 Simulink建立该控制系统模型,用示波器观察模型得阶跃响应曲线,并将阶跃响应曲线导入到 MATLAB 得工作空间中,在命令窗口绘制该模型得阶跃响应曲线。

      图 错误! ! 不能识别的开关参数。

     系统结构图

      图 错误! ! 不能识别的开关参数。

     示波器输出结果 实验 2

     M AT LAB/S imu u lin n k在控制系统建模中得应用

     一、 实验目得 1、掌握 MATLAB/Simulink 在控制系统建模中得应用; 二、 实验 设备 电脑一台;MATLAB 仿真软件一个 三、实验内容 1、给定RLC网络如图所示。其中, ( )iu t 为输入变量,0( ) u t 为输出变量。求解这个系统得传 递 函 数 模 型 , 零 极 点 增 益 模 型 以 及 状 态 空 间 模 型 ( 假 设11 R   ,21 R   , 1 C F  , 1 L H  )。

     传递函数模型 程序代码如下 :

     clear all;

      %清除工作空间得变量

     num=[0,1];

      %定义分子多项式

     den=[1 2 2];

      %定义分母多项式

     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)

     %求 解系统得阶跃响应

     grid on;

      %添加栅格

     程序运行结果 z =Empty matrix: 0—by—1 p =-1、0000 + 1、0000i

      —1、0000 — 1、0000i k =1 a = x1

      x2

     x1

     -2

     —1、414

     x2

      1、414

      0

     b = u1

     x1

      1

     x2

      0

     c = x1

      x2

     y1

      0

     0、7071 d = u1

     y1

     0

     Continuous-time model、

      图 错误! ! 不能识别的开关参数。

     系统得阶跃响应曲线 2、已知某双环调速得电流环系统得结构图如图所示。试采用Simulink 动态结构图求其线性模型。

      图 错误! ! 未定义书签。simulink中得系统动态模型 将图 2 模型存为“ Samples_4_14、mdl ”文件 在MATLAB 命令窗口运行以下命令,得到一个线性状态空间模型(A,B,C,D). [A,B,C,D]=linmod("Samples_4_14’);

     % 提取simulink模型得状态空间模型 输出结果如下 A =1、0e+003 *

     -0、0781

      0

      0

      0

     1、7964

     0

      -0、5000

      0

      0

      0

      0、0141

      0

      -0、5000

      0

      0

     0

     0、5000

      —0、5000

      0

      0

     0

     0、1600

      —0、1600

     0、0250

      —0、0599

     B =0

     1

     0

     0

     0 C = 195、3125

      0

      0

      0

      0 D = 0 在MATLAB 命令窗口运行以下命令 [num,den]=ss2tf(A,B,C,D);

      %将状态空间模型转换为传递函数模型 pritfsys(num,den,’s’);

     % 以传递函数模型形式显示出来 输出结果:

     num/den =

     4、5475e-013 s^4 + 5、8208e-011 s^3 + 56137724、5509 s^2 + 32454622005、9881 s

     + 2192879865269、464

     —-— - ——------—------— - —-—-——— - --——---——- -——---——-—————-———————-——-—-—--————--—

     s^5 + 1138、0052 s^4 + 392683、3832 s^3 + 43221369、7605 s^2 + 3506268712、5749 s

     + 9、4013 验 实验 3

     M AT LAB /Simu link 在时域分析法中得应用 一、 实验目得 1、掌握时域分析中 MATLAB/Simulink 函数得应用; 2、掌握 MATLAB/Simulink 在稳定性分析中得应用。

     二、 实验 设备 电脑一台;MATLAB 仿真软件一个

     三、实验内容 1、某随动系统得结构如图所示。利用MATLAB 完成如下工作:(1)对给定得随动系统建立数学模型;(2)分析系统得稳定性,并且绘制阶跃响应曲线;(3)计算系统得稳态误差;(4)大致分析系统得总体性能,并给出理论上得解释。

      图 错误! 不能识别的开关参数。

     系统得结构图 解:利用MATLAB 求解得基本步骤如下 1.求取系统传递函数 clc;

     clear all;

     num1=[20];den1=[1 2 0];

     sys1=tf(num1,den1);

     %二阶系统得传递函数

     num2=[0、1 0];den2=[0 1];

     sys2=tf(num2,den2);

     %微分环节传递函数

     sys_inner=feedback(sys1,sys2);

     %内环反馈得传递函数

     sys_outer=feedback(sys_inner,1)

     %外环反馈得传递函数

     20 --—--—--——---- s^2 + 4 s + 20 得到系统得传递函数

     2。进行稳定性分析 den=[1 4 20];

     roots(den)

     %求闭环系统特征多项式得根

     pzmap(sys_outer);

     %利用pzmap命令绘制系统得零极点图

     grid on; 程序运行结果 ans =

      —2、0000 + 4、0000i

      -2、0000 - 4、0000i 由结果可知,系统 特征根都具有负实部,因此闭环系统就是稳定得。

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

     图 2 系统零极点分布图 3.求阶跃响应 num=[20];den=[1 4 20];

     [y,t,x]=step(num,den)

      %计算闭环系统得阶跃响应

     plot(x,y);

     %绘制阶跃响应曲线

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

     图 错误! 未定义书签。系统阶跃响应曲线

     图 错误! 未定义书签。系统阶跃响应曲线 4.分析系统得响应特性 %计算系统得超调量 y_stable=1;

     %阶跃响应得稳态值 max_response=max(y);

     %闭环系统阶跃响应得最大值 sigma=(max_response—y_stable)

      %阶跃响应得超调量

     程序运行结果 sigma =0、2076 系统稳态误差为 0,波形图如下

     图 错误! 未定义书签。

     系统误差曲线图 %计算系统得上升时间 for i=1:length(y)

      %遍历响应曲线

     if y(i)〉y_stable

      %如果某个时刻系统得输出值大于稳态值

     break;

      %循环中断

     end

     end

     tr=x(i)

      %计算此时对应得时间,就就是阶跃响应得上升时间

      %计算系统得峰值时间

     [max_response,index]=max(y);

     %查找系统阶跃响应得最大值

     tp=x(index)

     %计算此时对应得时间,就就是阶跃响应得峰值时间 %计算系统得调整时间—---—-——-》取误差带为2%

     for

     i=1:length(y)

      %遍历响应曲线

     if max(y(i:length(y)))<=1、02*y_stable

      %如果当前响应值在误差带内

     if min(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;

     for k=1:8

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

     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时,阶跃响应曲线不再震荡,系统阻尼.

     (2)绘制=0、55,从 0、1 变化到 1 就是系统得阶跃响应曲线

     clc;

     clear;

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

     %设定阻尼系数 omega=[0、1 0、2 0、4 0、7 1];

     %设定自然频率向量 omega2=omega、*2;

      % 计算自然频率得平方 for k=1:5

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

     num=omega2(k);

      den=[1 2*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');

      图 错误! ! 未定义书签。

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

     结论:当自然频率从 0、1 变化到1时,系统震荡频率加快,上升时间减少,过渡过程时间减少;系统响应更加迅速,动态性能更好. 自然频率决定了系统阶跃响应得震荡频率. 验 实验 4

      MATLAB/S im ulin k在根轨迹分析法中应用 一、 实验目得 1、掌握 MATLAB/Simulink绘制根轨迹函数; 2、掌握 MATLAB/Simulink绘制根轨迹得方法. 二、 实验 设备 电脑一台;MATLAB 仿真软件一个 三、实 验内容 1、已知单位负反馈控制系统得开环传递函数。(1)画出这个系统得根轨迹;(2)确定使闭环系统稳定得增益值;(3)分析系统得阶跃响应性能;(4)利用rltool对系统得性能进行分析。

     解:利用 MATLAB 求解得基本步骤如下 1. 建立系统得数学模型 代码 clc;

     clear;

     num=[1 1];

     den=conv([1 0],conv([1 -1],[1 4]));

     sys=tf(num,den)

      %控制系统得开环传递函数模型

     程序运行结果 Transfer function:

      s + 1 -——-———-——------- s^3 + 3 s^2 - 4 s 结果输出就是用来绘制部分根轨迹得那部分传递函数 2。绘制根轨迹图

      rlocus(sys);

     %绘制系统得 根轨迹曲线

     grid on;

     title(' 根轨迹图

     "); 得到系统根轨迹如图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所示

      图 4 控制系统根轨迹分析与设计器 利用 rltool 进行工具分析系统得阶跃响应.设定系统增益为20,可得到如图3得结果

      分析,系统稳定,并且系统误差为0。系统得穿越频率为1、41,相角稳定裕度为17,剪切频率为1、38。

      图 错误! 未定义书签。

      K=20 时系统得阶跃响应

     实验5

      MATLAB/Sim ul in k在频域分析法中得应用 一、 实验目得 1、掌握 MATLAB 绘制伯德图与乃奎斯特曲线; 2、熟练应用MATLAB分析稳定裕度. 二、 实验 设备 电脑一台;MATLAB 仿真软件一个 三、实验内容 1、已知晶闸管—直流电机开环系统结构图如图所示。试用 Simulink 动态结构图进行频域分析并求频域性能指标。

     解:利用 simulink 求解步骤如下 步骤 1 在 simulink 中建立系统动态模型,如下图

     图表 错误! 不能识别的开关参数。

     系统动态模型图 步骤 2 求取系统得线性空间状态模型,并求取频域性能指标 在 MATLAB 运行以下命令 [A,B,C,D]=linmod("Samples_7_9");

     %提 取 simulin 系统得线性空间状态模型

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

     margin(sys);

      % 求取频域性能指标

      图表 错误! 未定义书签。

     系统得开环 bode 图与频域性能指标 从图中可以瞧出: 幅值裕度GM=26、4dB,穿越频率为152rad/sec 相位裕度PM=54deg,穿越频率为25、5rad/sec

     验 实验 6

     MATLA B_Simulink 在控制系统校正中得应用 一、 实验目得 1、掌握建立控制系统得数学模型及设计系统得串联校正装置;

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

     二、 实验 设备 电脑一台;MATLAB 仿真软件一个 三、实验内容 1、某单位负反馈控制系统得开环传递函数,设计一个串联得校正装置,使校正后得系统静态速度误差系数,相角裕度,增益裕量。

     解:求解步骤如下 步骤 1 计算得系统开环传递函数 步骤2 建立控制系统得数学模型 代码如下 clc;

     clear;

     num_open=[0 20];

     den_open=conv(conv([1 0],[1 1]),[1 2]);

     sys_open=tf(num_open,den_open)

     运行结果 Transfer function:

     20 —-——-————--—--——— s^3 + 3 s^2 + 2 s 步骤3 分析系统得动态特性

     [Gm,Pm,Wcg,Wcp]=margin(sys_open)

     %计算相角裕量与增益裕量

     margin(sys_open); 运行结果 Gm =

     0、3000 Pm =

     -28、0814 Wcg =

     1、4142 Wcp =

     2、4253 频率响应特性曲线如下

     图表 6 闭环系统得频率响应曲线 计算结果显示,未校正系统增益裕量只有-10、5,相角裕量为—28、0814,相角穿越频率为 1、4142,幅值穿越频率为 2、4253。系统尚不稳定需要串联校正环节。

     步骤 4 设计系统得串联校正装置 先设计止滞后环节。假定校正后得系统增益穿越频率为 1,并且取零极点之比为10,则滞后环节得传递函数为 %设计串联校正器得滞后环节 num_zhihou=[1 0、1];

     den_zhihou=[1 0、01];

     sys_zhihou=tf(num_zhihou,den_zhihou);

      %滞后环节得传递函数模型

     sys_new=sys_open*sys_zhihou

     %加入滞后环节后系统得开环传递函数

     margin(sys_new);

      %绘制加入滞后环节后系统得Bode曲线

     图表 错误! 未定义书签。

     加入滞后环节得系统频率响应曲线 根据滞后校正得出得结果,相应设计超前校正校正环节为,此时系统得频率响应如图表 3、 %设计串联校正器得超前环节 num_chaoqian=[1 0、5];

     den_chaoqian=[1 5];

     sys_chaoqian=tf(num_chaoqian,den_chaoqian);

     sys_new=sys_new*sys_chaoqian;

     margin(sys_new);

      图表 错误!。

     不能识别的开关参数。

     加入超前滞后校正环节后系统得频率响应曲线 从上图知,此时闭环系统得增益裕量为 13、3,相角裕量为 52、5,穿越频率为 1、37; %对比校正前后得系统频率响应 figure(1);

     bode(sys_open);

     hold on;

     bode(sys_new);

     gtext("校正前得’);gtext("校正后得");

     gtext('校正前得");gtext(’校正后得');

     grid on

      图表 错误! 未定义书签。

     系统校正前后不同得频率响应曲线 校正后得系统开环传递函数为 Transfer function:

      20 s ^2 + 12 s+1 —-—-—-—-———-—-—-—---—-——---——----— s^5+ 8、01 s^4+ 17、08 s^3 + 10、17s^2+0、1 s 步骤5 比较教正前后得系统性能 %系统校正前后得阶跃响应曲线 figure(2);

     step(feedback(sys_open,1));

     grid on;

     figure(3);

     step(feedback(sys_new,1));

     grid on;

      gtext("校正前得");gtext("校正后得’);

     grid on;

      图表 错误! 未定义书签。

     系统校正前得阶跃响应曲线

      图表 错误! 未定义书签。

     系统校正后得阶跃响应曲线 步骤6 采用 rltool工具进行校正分析

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

      图表 错误! 未定义书签。

     利用 rltool 进行校正环节设计 验 实验 6

     MATLAB _S imulink 在控制系统校正中得应用 一、 实验目得 1、掌握建立控制系统得数学模型及设计系统得串联校正装置;

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

     二、 实验 设备 电脑一台;MATLAB 仿真软件一个 三、实验内容 1、某单位负反馈控制系统得开环传递函数,设计一个串联得校正装置,使校正后得系统静态速度误差系数,相角裕度,增益裕量。

     解:求解步骤如下 步骤 1 计算得系统开环传递函数 步骤 2 建立控制系统得数学模型 代码如下 clc;

     clear;

     num_open=[0 20];

     den_open=conv(conv([1 0],[1 1]),[1 2]);

     sys_open=tf(num_open,den_open)

     运行结果 Transfer function:

     20 -————-——-—-—--—-— s^3 + 3 s^2 + 2 s 步骤3 分析系统得动态特性 [Gm,Pm,Wcg,Wcp]=margin(sys_open)

     %计算相角裕量与增益裕量

     margin(sys_open); 运行结果 Gm =

     0、3000 Pm =

     -28、0814 Wcg =

     1、4142 Wcp =

     2、4253 频率响应特性曲线如下

     图表 错误! 未定义书签。

     闭环系统得频率响应曲线

     计算结果显示,未校正系统增益裕量只有—10、5,相角裕量为—28、0814,相角穿越频率为1、4142,幅值穿越频率为2、4253。系统尚不稳定需要串联校正环节. 步骤4 设计系统得串联校正装置 先设计止滞后环节。假定校正后得系统增益穿越频率为 1,并且取零极点之比为 10,则滞后环节得传递函数为 %设计串联校正器得滞后环节 num_zhihou=[1 0、1];

     den_zhihou=[1 0、01];

     sys_zhihou=tf(num_zhihou,den_zhihou);

      %滞后环节得传递函数模型

     sys_new=sys_open*sys_zhihou

     %加入滞后环节后系统得开环传递函数

     margin(sys_new);

      %绘制加入滞后环节后系统得Bode曲线

     图表 错误! 不能识别的开关参数。

     加入滞后环节得系统频率响应曲线 根据滞后校正得出得结果,相应设计超前校正校正环节为,此时系统得频率响应如图表 3、 %设计串联校正器得超前环节 num_chaoqian=[1 0、5];

     den_chaoqian=[1 5];

     sys_chaoqian=tf(num_chaoqian,den_chaoqian);

     sys_new=sys_new*sys_chaoqian;

     margin(sys_new);

      图表 错误! 未定义书签。

     加入超前滞后校正环节后系统得频率响应曲线 从上图知,此时闭环系统得增益裕量为 13、3,相角裕量为 52、5,穿越频率为 1、37; %对比校正前后得系统频率响应 figure(1);

     bode(sys_open);

     hold on;

     bode(sys_new);

     gtext('校正前得’);gtext("校正后得");

     gtext(’校正前得');gtext("校正后得’);

     grid on

      图表 错误! 未定义书签。

     系统校正前后不同得频率响应曲线 校正后得系统开环传递函数为 Transfer function:

      20 s ^2 + 12 s+1 -—-------——---—-———————-—-———--—-— s^5+ 8、01 s^4+ 17、08 s^3 + 10、17s^2+0、1 s 步骤5 比较教正前后得系统性能 %系统校正前后得阶跃响应曲线 figure(2);

     step(feedback(sys_open,1));

     grid on;

     figure(3);

     step(feedback(sys_new,1));

     grid on;

      gtext(’校正前得');gtext("校正后得');

     grid on;

      图表 错误! 未定义书签。

     系统校正前得阶跃响应曲线

      图表 错误! 未定义书签。

     系统校正后得阶跃响应曲线 步骤6 采用 rltool工具进行校正分析

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

      图表 错误! 未定义书签。

     利用rltool 进行校正环节设计 验 实验 7

      MATLAB/ Sim ul ink 在非线性系统中得应用 一、 实验目得 1、掌握非线性系统阶跃响应得分析。

     二、 实验 设备 电脑一台;MATLAB 仿真软件一个 三、实验内容 1、给定如图所示得单位负反馈系统。在系统中分别引入不同得非线性环节(饱与、死区与磁滞),观察系统得阶跃响应,并且分析、比较不同得非线性环节对系统性能得影响。

     解:步骤 1,没有任何非线形环节得系统,其阶跃响应曲线如下图

      图表 错误! 不能识别的开关参数。

     未加入非线形环节得系统阶跃响应曲线 步骤 2 加入了饱与非线形环节得系统框图,饱与非线形环节得输出上限为 0、1,输出下限为—0、1。其阶跃响应曲线如下

      图表 错误! 不能识别的开关参数。

     加入饱与非线形环节得系统阶跃响应曲线 plot(tout1,out1);

      %绘制第一条 阶跃响应曲线

     hold on;

     %设定在同一幅图象上绘制多条曲线

     grid on;

     gtext(’0、05’);

     %为曲线添加标注

     plot(tout2,out2);

      %绘制第二条 阶跃响应曲线

     gtext(’0、1’);

     %为曲线添加标注

     plot(tout3,out3);

     %绘制第三条 阶跃响应曲线

     gtext(’0、2’);

     %为曲线添加标注

     plot(tout4,out4); %绘制第四条 阶跃响应曲线

     gtext('0、5’);

     %为曲线添加标注

      图表 错误! 未定义书签。

     加入不同饱与非线形环节时系统阶跃响应曲线 步骤 3

     在系统中引入死区非线形环节,系统框图如下

      图表 错误! 未定义书签。

     加入死区非线形环节得系统框图 plot(tout1,out1);

      %绘制第一条 阶跃响应曲线

     hold on;

     %设定在同一幅图象上绘制多条曲线

     grid on;

     gtext("0、2’);

     %为曲线添加标注

     plot(tout2,out2);

      %绘制第二条 阶跃响应曲线

     gtext(’0、5’);

     %为曲线添加标注

     plot(tout3,out3);

     %绘制第三条 阶跃响应曲线

     gtext(’1、0’);

     %为曲线添加标注

     plot(tout4,out4); %绘制第四条 阶跃响应曲线

     gtext('2、0’);

     %为曲线添加标注

      图表 错误! 不能识别的开关参数。

     加入死区非线形环节得系统阶跃响应曲线

      图表 6 加入不同死区环节时系统得阶跃响应曲线 结论:随着死区范围增加,系统开始响应阶跃输入信号得时刻也逐渐推迟 步骤 步骤 4 在系统引入死区单元与饱与单元,系统框图如下

     图表 7 同时系统引入死区单元与饱与单元得系统框图

      图表 错误! 不能识别的开关参数。

     同时系统引入死区单元与饱与单元得系统阶跃响应曲线 验 实验 8

     MATL AB/ Si muli nk 在离散控制系统中得应用 一、 实验目得 1、掌握离散系统阶跃响应得分析; 2、了解采样周期对离散系统稳定性得影响。

     二、 实验 设备 电脑一台;MATLAB 仿真软件一个 三、实验内容 1、给定单位负反馈离散控制系统,其采样周期为 1s,开环传递函数为与零阶保持器 ZOH 串联;同时,开环增益 k.求闭环系统稳定得条件,并且绘制k取不同值时闭环系统得阶跃响应曲线。

     解:步骤1:建立系统得数学模型,代码如下 clc;

     clear;

      %清除工作空间得所有变量

     Ts=1;

      %采样周期

     num=[1,1];

     den=[1,0,0];

     sys_continue=tf(num,den)

     %连续系统得传递函数

     sys_discrete=c2d(sys_continue,Ts,"zoh")

     %离散系统得传递函数

     sys_k=1;

     sys_open=sys_k*sys_discrete

      %系统得开环传递函数

     运行结果如下:

     Transfer function:

     1、5 z - 0、5 ------——-———— z^2 — 2 z + 1 Sampling time:

     1 步骤 2:绘制系统得根轨迹,确定闭环系统稳定 K 值范围 代码如下: figure(1); rlocus(sys_discrete); 运行结果如图所示:

     -1.5 -1 -0.5 0 0.5 1 1.5-1-0.8-0.6-0.4-0.200.20.40.60.81Root LocusReal AxisImaginary Axis 图表 错误! 不能识别的开关参数。

     离散控制系统得根轨迹图 由上图可知,0〈k〈2,为验证结论,绘制系统得幅频特性曲线与 Nyquist曲线,代码如下:

     %K=2时系统得频率特性曲线

     sys_k=2

     figure(2);

     margin(sys_k*sys_discrete);

     %绘制离散系统得bode图

     %K=2时系统得Nyquist曲线

     figure(3);

     [dnum,dden]=tfdata(sys_k*sys_discrete,’v’)

     %提取开环传递函数得零极点

     dnyquist(dnum,dden,Ts)

      %绘制离散系统得 Nyquist曲线

     grid on;

     运行结果如下图:

     离散控制系统得幅频特性曲线:

     020406080100Magnitude (dB)10-210-1100101-185-180-175-170-165-160Phase (deg)Bode DiagramGm = 2.01e-015 dB (at 3.14 rad/sec) ,

     Pm = InfFrequency

     (rad/sec) 图表 错误! 不能识别的开关参数。

     离散控制系统得幅频特性曲线 离散控制系统得 Nyquist 曲线:

     -1800 -1600 -1400 -1200 -1000 -800 -600 -400 -200 0-30-20-1001020300 dBNyquist DiagramReal AxisImaginary Axis 图表 错误! 不能识别的开关参数。

     离散控制系统得 Nyquist曲线 结论:当 k=2,系统处于临界稳定状态。系统稳定时 k 得取值范围为(0,2) 步骤 3:分析系统得阶跃响应代码如下 sys_k=1;

     figure(4);

     sys_close=feedback(sys_k*sys_discrete,1); %计算闭环系统得传递函数

     [dnumc,ddenc]=tfdata(sys_close,’v’);

     %提取闭环系统传递函数零极点

     dstep(dnumc,ddenc,25);

      %绘制闭环系统 阶跃响应曲线

     sys_k=2;

     figure(5);

     sys_close=feedback(sys_k*sys_discrete,1); %计算闭环系统得传递函数

     [dnumc,ddenc]=tfdata(sys_close,’v’);

      %提取闭环系统传递函数零极点

     dstep(dnumc,ddenc,25);

     %绘制闭环系统 阶跃响应曲线

     sys_k=3;

     figure(6);

     sys_close=feedback(sys_k*sys_discrete,1); %计算闭环系统得传递函数

     [dnumc,ddenc]=tfdata(sys_close,’v’); %提取闭环系统传递函数零极点

     dstep(dnumc,ddenc,25);

      %绘制闭环系统 阶跃响应曲线

     运行结果如图:

     0 5 10 15 20 2500.20.40.60.811.21.41.61.8Step ResponseTime (sec)Amplitude 图表 错误! 不能识别的开关参数。

     K=1时,闭环系统得阶跃响应曲线 0 5 10 15 20 25-1-0.500.511.522.53Step ResponseTime (sec)Amplitude 图表 错误! 未定义书签。

     K=2 时,闭环系统得阶跃响应曲线

     0 5 10 15 20 25-3-2-101234567x 1010Step ResponseTime (sec)Amplitude 图表 错误! 未定义书签。

     K=3 时,闭环系统得阶跃响应曲线 结论:当 K=1 时,闭环系统稳定,阶跃响应曲线;当K=2时,闭环系统临界稳定,阶跃响应等幅震荡;当 K=3 时,闭环系统不稳定,阶跃响应曲线发散. 步骤 4:分析采样周期对系统稳定性得影响 代码如下:

     sys_k=2;

     figure(7);

     Ts=0、5;

     sys_discrete=c2d(sys_continue,Ts,’zoh’)

     %计算离散系统得开环传递函数

     sys_close=feedback(sys_k*sys_discrete,1); %计算离散系统得 闭环 传递函数

     [dnumc,ddenc]=tfdata(sys_close,’v");

      %提取闭环传递函数零极点

     dstep(dnumc,ddenc,25);

     %绘制闭环系统 阶跃响应曲线

     sys_k=2;

     figure(8);

     Ts=2;

     sys_discrete=c2d(sys_continue,Ts,’zoh’)

     sys_close=feedback(sys_k*sys_discrete,1);

     [dnumc,ddenc]=tfdata(sys_close,"v’);

     dstep(dnumc,ddenc,25);

     运行结果如下图:

     0 5 10 15 20 2500.511.5Step ResponseTime (sec)Amplitude 图表 错误! 不能识别的开关参数。

     Ts=0、5,K=2 时系统得阶跃响应曲线

     0 5 10 15 20 25-505101520x 1018Step ResponseTime (sec)Amplitude 图表 错误! 未定义书签。

     Ts=2,K=2 时系统得阶跃响应曲线 结论:由图可知,离散系统得不仅与开环增益有关,还与采样周期有关 。

    • 范文大全
    • 职场知识
    • 精美散文
    • 名著
    • 讲坛
    • 诗歌
    • 礼仪知识