ImageVerifierCode 换一换
格式:DOC , 页数:21 ,大小:1.03MB ,
资源ID:8890574      下载积分:10 金币
验证码下载
登录下载
邮箱/手机:
图形码:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/8890574.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请。


权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4009-655-100;投诉/维权电话:18658249818。

注意事项

本文(matlab结业作业.doc)为本站上传会员【s4****5z】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

matlab结业作业.doc

1、 《 Matlab/Simulink 与控制系统仿真》结业作业 一、必做题 Matlab学习心得体会: 本学期我们新开了一门MATLAB/Simulink与控制系统仿真的课程,虽说是这个学期才开始学习,但是我们却对MATLAB这个软件的基本使用一点都不陌生。而本学期的专门学习,更让我获益匪浅。 第一部分是利用MATLAB函数来对控制系统进行分析。 ① 例如要求取一个系统的阶跃响应时,我就可以调用MATLAB中的step函数 ② MATLAB在稳定性分析应用时,通过直接求根函数roots来判定系统的稳定性 ③ 在利用MATLAB分析系统的根轨迹时,使用rlocus函数

2、来求取根轨迹图,使用pzmap函数求取系统的传递函数零极点 ④ 计算给定一组根的根轨迹增益函数 [k,poles]=rlocufind(sys);[k,poles]=rlocfind(sys,p) ⑤ MATLAB在稳定性分析应用时,也常通过使用用于计算系统稳定裕度的margin函数来完成,它可以从频率响应数据中计算出幅值裕度、相角裕度以及对应的频率 ⑥ 对于使用MATLAB来对系统进行频域响应的分析,又往往提供了绘制函数nyguist和bode来绘制系统的奈奎斯特曲线图和伯德图 ⑦ 其他:grid%添加栅格   hold on%保持,继续在原图绘画  title%添加标题  lege

3、nd(x,y)%添加文字标注  gyext('TEXT')%在任意可选位置添加文字信息  xlabel(x,y);ylabel(x,y)%添加坐标轴  分割图形窗口 subplot(1,2,1)%分割为一行两列,并即将绘制第一个 第二部分是利用MATLAB的Simulink模块来对控制系统进行建模仿真。 Simulink是一个对动态系统(包括连续系统、离散系统和混合系统)进行建模、仿真和综合分析的集成软件包,是MATLAB的一个附加组件,其特点是模块化操作、易学易用,而且能够使用MATLAB提供的丰富的仿真资源。 对于一个给定的控制系统结构图,需要通过Simulink模块来建立该系

4、统的动态模型。下面我就阐述一下,我在实验过程中常使用的一些模块。 Continuous(连续模块):Derivative对输入信号微分Integrator对输入信号积分Transfer Fcn 分子分母以多项式表示的传递函数 Discontinuous(非连续模块):Dead Zone设定死区范围Saturation 设置输入信号的正负限幅值模拟环节的饱和非线性特性 Math Operations(数学运算模块库):Sum求和 Add可加减标量,向量和矩阵Gain增益(输入信号乘以常数) Ports & Subsystems(端口和子系统模块库):In1输入端口 Out1输出端口

5、Sinks(接收器模块):To Workspace 将输出写入工作空间 Scope示波器 Sources(输入源模块库):Ramp 产生一个常数增加或减小的信号(斜坡函数信号) Step 产生幅值和起始时间可调的阶跃信号 第三部分是MATLAB中常用的工具。 根轨迹分析与设计工具rltool:rltool是图形化的交互式工具,可以打开工作空间的单输入单输出(SISO)系统模型,分析其根轨迹,并且允许用户在根轨迹图上直接放置零极点,完成对系统的校正设计。 操作:(1)在MATLAB工作空间中建立好控制系统的数学模型sys;(2)在MATLAB命令窗口中输入“rltool(sys)”

6、得到控制系统sys的根轨迹设计GUI窗口,对系统进行分析。 线性时不变系统分析的图形用户界面LTI Viewer: 在MATLAB的command Window中,建立LTI对象,之后使用LTI Viewer可以绘制LTI对象的单位阶跃响应曲线(Step)、单位脉冲响应曲线(Impulse)、波特图(Bode)、奈奎斯特图(Nyquist)以及零极点图(Pole/Zero)等。  操作:(1)在MATLAB工作空间中建立好控制系统的数学模型;(2)在命令窗口中输入“LTI View”,调出LTI View窗口,对系统进行分析。 总结:通过本学期Matlab/Simulink 与控制

7、系统仿真这门课程的学习,我真正体会到应用MATLAB软件对控制系统分析的方便性、有效性;虽然我可能仅仅是简单地入了个门,但即使是这样我也感觉已经收获了不少东西。当然仅凭短时间的学习不可能掌握得很熟,所以在今后的时间里,我也会多查阅资料、多去实践,争取掌握更多更全的操作技能。 二、选做题 1、 一单位负反馈控制系统的开环传递函数为( 1)绘制k=10、100时闭环系统的阶跃响应曲线,并计算稳态误差、上升时间、超调量和调节时间;( 2)绘制k=1000时闭环系统的阶跃响应曲线,并与k=10、100所得结果相比较,分析增益系数与系统稳定性的关系;( 3)利用roots命令确定使系统稳定时k的取值

8、范围。 程序: K=10时: clc; clear all; num=[10]; den=[1 7 17 10]; sys=tf(num,den); roots(den) pzmap(sys); [y,t,x]=step(num,den); plot(x,y); grid on; %计算系统的超调量 y_stable=1; max_response=max(y); sigma=(max_response-y_stable)/y_stable %计算系统上升时间 for i=1:length(y) if y(i)>y_stable

9、break; end end tr=x(i) %计算系统的调整时间 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) ans = -3.0755 + 1.5228i -3.0755 - 1.5228i -0.8491 + 0.0000i sigma =-5.8847e-

10、05 tr =12.0391 ts =5.1810 K=100时: clc; clear all; num=[10]; den=[1 7 17 10]; sys=tf(num,den); roots(den) pzmap(sys); [y,t,x]=step(num,den); plot(x,y); grid on; %计算系统的超调量 y_stable=1; max_response=max(y); sigma=(max_response-y_stable)/y_stable %计算系统上升时间 for i=1:length(y

11、) if y(i)>y_stable break; end end tr=x(i) %计算系统的调整时间 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) ans = -6.6925 + 0.0000i -0.1537 + 3.8624i -0.153

12、7 - 3.8624i sigma =0.7608 tr =0.5642 ts =24.5930 K=1000: clc; clear all; num=[1000]; den=[1 7 17 1000]; [y,t,x]=step(num,den); plot(x,y); grid on; 在使系统稳定的条件下,k值越大,则系统越稳定。 取k=120时: clc; clear all; num=[120]; den=[1 7 17 120]; sys=tf(num,den); roots(den) pzmap(

13、sys); [y,t,x]=step(num,den); plot(x,y); grid on; 此时系统不稳定。 取k=119时: clc; clear all; num=[119]; den=[1 7 17 119]; sys=tf(num,den); roots(den) pzmap(sys); [y,t,x]=step(num,den); plot(x,y); grid on; 此时系统处于临界稳定,固K<119。 2、 2、一单位负反馈控制系统的开环传递函数为。(1)利用MATLAB建立上述控制系统的3类数学模型;(2)利

14、用MATLAB绘制系统的单位阶跃响应曲线和单位冲激响应曲线;(3)利用LTIViewer工具绘制系统的单位阶跃响应曲线和单位冲激响应曲线。 解:(1)由题建立系统模型,代码如下: clear all; num=[1.5 3]; den=[0.25 1.25 1 0]; sys_tf=tf(num,den) [z,p,k]=tf2zp(num,den) sys_zpk=zpk(z,p,k) [A,B,C,D]=zp2ss(z,p,k); sys_ss=ss(A,B,C,D) 程序运行结果如下: sys_tf = 1.5 s + 3

15、 0.25 s^3 + 1.25 s^2 + s Continuous-time transfer function. %%%%%传递函数模型%% sys_zpk = 6 (s+2) ------------- s (s+4) (s+1) Continuous-time zero/pole/gain model. %%%%%系统的零极点增益模型%% sys_ss = a = x1 x2 x3 x1 0 0 0 x2 2 -5 -2

16、x3 0 2 0 b = u1 x1 1 x2 1 x3 0 c = x1 x2 x3 y1 0 0 3 d = u1 y1 0 Continuous-time state-space model.%%%%%%系统的状态空间模型%% (2)由题阶跃函数MATLAB程序代码如下: figure(1) step(sys_tf); grid on figure(2) impulse(sys_tf); grid on 程序运行结果如

17、下图: 调用LTIview函数,运行函数Plot Types选项,选择Step,impulse。运行结果如下图: 3. 一单位负反馈控制系统的开环传递函数为G(s)=k/(0.1s^2+s)。( 1)若系统的阻尼系数ζ为0.5,计算此时的系统增益k;( 2)当k=5时,绘制闭环系统的单位阶跃响应曲线,并计算上升时间、调节时间、超调量以及静态误差。 (1)已知开环传递函数G(s)=k/(0.1s^2+s),对比二阶系统的典型传递函数G(s)=C(s)/R(s)=(k/T)/( s^2+s/T+ k/T)得ζ=1/2√kT所以由ζ为0.5得到k=10; (2)k=5时:

18、程序编写如下: clc;clear; %%求阶跃响应曲线 num=[5]; den=[0.1,1,5]; [y,t,x]=step(num,den) plot(x,y); grid on; %%计算上升时间 for i=1:length(y) if y(i)>y_stable break; end end tr=x(i) %%计算系统的调节时间------取误差带为2 for i=1:length(y) if max(y(i:length(y)))<=1.02*y_sta

19、ble if min(y(i:length(y)))>=0.98*y_stable end end end ts=x(i) 运行结果: 上升时间tr =0.4748 调节时间ts =1.1926 %%计算超调量 y_stable=1; max_response=max(y); sigma=(max_response-y_stable)/y_stable 运行结果: sigma =0.0432 求静态误差: 利用simulink建模得 5、某单位负反馈控制系统的动态结

20、构图如下: 试完成如下任务:(1)在 MATLAB 中建立上述控制系统的数学模型;( 2)绘制系统的根轨迹曲线;(3)判断点 - 2 ±i √10是否在根轨迹曲线上;(4)确定使闭环系统稳定的k的取值范围。 (1) 建立数学模型 程序编写如下: clear all; num=[-1,2];den=[1,3,0]; sys=tf(num,den) 运行结果: Transfer function: -s + 2 --------- s^2 + 3 s (2)%%绘制根轨迹图 clear all; num=[-1,2];den=[1,3,0]; sys=tf(

21、num,den) rlocus(sys) grid on title('根轨迹图') (3)由上图知- 2 ±i √10不在根轨迹曲线上 (4)程序编写如下: [k,poles]=rlocfind(sys) 运行后得: (5)由上图知k=3是系统的临界增益,所以使闭环系统稳定的k的取值范围为0

22、 根轨迹曲线;(3)判断点是否在根轨迹曲线上;(4)确定使闭环系统稳定的 k 的取值范围。 解: matlab代码如下: clear all; num=[-1,2];den=[1,3,0]; sys=tf(num,den) sys = 程序运行结果如下: -s + 2 --------- s^2 + 3 s matlab代码如下: clear all; num=[-1,2];den=[1,3,0]; sys=tf(num,den) rlocus(sys) grid on title('根轨迹图') 系统的根轨迹图如下图所示: 经图中的判断

23、点不在系统的根轨迹上。 matlab代码如下: [k,poles]=rlocfind(sys) 程序运行结果如下: 由图中可以得到,当0

24、绘制开环系统的 Bode 曲线和 Nyquist 曲线 (3)系统零极点图 (4)程序编写如下: [A,B,C,D]=linmod('samples_7'); sys=ss(A,B,C,D); [Gm,Pm,Wcg,Wcp]=margin(sys) 运行结果: Gm =1.0667 Pm =0.6617 Wcg =1.8258 Wcp =1.7961 由运行结果可知:幅值稳定裕量Gm =1.0667,相角稳定裕量Pm =0.6617,相角穿越频率Wcg =1.8258,截止频率Wcp =1.7961。

25、 (5)阶跃响应曲线 9.设单位负反馈控制系统的开环传递函数G(s)分别为、、,试绘制其 Nyquist 曲线,并确定使闭环系统稳定的 k 的取值范围。 解: (1) G(s)=时 matlab代码如下: clear all; num=[0.1,1];den=conv([1,-1],[1,0]); sys1=tf(num,den) rlocus(sys1) figure(1) grid title('根轨迹图') 由分析可知,k的取值范围为k>10。 (2)G(s)= matlab代码如下: clear all; num=[1];den=conv([

26、1,0],conv([0.1,1],[0.25,1])); sys2=tf(num,den) rlocus(sys2) figure(1) grid title('根轨迹图') 由分析可知,k的取值范围为06。 10、给定非线性控制系统的动态结构

27、图如下,其中饱和环节的线性区为[-1,1],斜率为 1。试分析系统的稳定性,并绘制系统的阶跃响应曲线。 建立模型: 输出曲线如图所示: 由上图可知,系统不稳定。 11.给定非线性控制系统的动态结构图如下,试:(1)在 Simulink 中建立上述系统的模型; (2)设定开环增益为k=1,绘制系统的阶跃响应曲线;(3)设定开环增益为k =10,绘制系统的阶跃响应曲线,并与(2)得到的曲线进行比较;(4)继续修改 k 的取值,分析阶跃响应曲线的变化。 解: (1) 在simulink库中建立以下模型: (2) 系统的阶跃响应曲线如下图所示: (

28、3) 系统的阶跃响应曲线如下图所示: k=1时与k=10时的曲线相比,k=10时的曲线出现了超调量,上升时间减少,稳态误差增大。 (4) k=100时,系统的阶跃响应曲线如下: k=1000时,系统的阶跃响应曲线如下: 从图中可以看出当k继续增大时,稳态误差最终稳定在0.5。 13、 某离散控制系统的结构图如下,试:( 1)在 MATLAB 中建立此控制系统的模型;( 2) 采样周期值为 1s,判断系统的稳定性,并绘制系统的阶跃响应曲线。 (1) 数学模型如下: 程序编写: clc; clear; %建立控制系统的数学模型 Ts=1; nu

29、m=[4]; den=[1,3,2]; sys_continue = tf(num,den); sys_discrete = c2d(sys_continue,Ts,'zoh'); sys_k=1; sys_open=sys_k*sys_discrete 运行结果: Transfer function: 0.7992 z + 0.294 ------------------------ z^2 - 0.5032 z + 0.04979 Sampling time: 1 (2)求取系统的阶跃响应曲线 %k=1时 sys_k=1; figure(4); sys_close = feedback(sys_k*sys_discrete,1); [dnumc,ddenc]=tfdata(sys_close,'v'); dstep(dnumc,ddenc,25); 由图可知:k=1时闭环系统稳定,阶跃响应曲线收敛。

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服