- 1、本文档共238页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
自动控制 控制系统的设计与仿真推荐
%PartII.使用S函数来描述非线性系统,使用Simulink中的sim函数来仿真非线性系统; %使用Simulink的linmod命令来计算系统在参考点处的线性化模型 %当输入u=1时非线性系统的仿真曲线 invpnsl%显示包含非线性S函数模型的Simulink模型 ut=[tou;tfu]; options=simset(′RelTol′,tol); [tnl2,znl2,ynl2]=sim(′invpnsl′,[totf],options,ut); %创建线性化模型的状态空间矩阵 [A2,B2,C2,D2]=linmod(′invpnsl′,zo,0); disp(′StateSpaceMatricesfortheNumericallyDeterminedLinearModel′) A2,B2,C2,D2 %计算状态矩阵的特征值 disp(′EigenvaluesoftheNumericalLinearModel′);ev=eig(A2) %确定线性系统的阶跃响应 tl=linspace(to,tf,31); sysl2=ss(A2,B2,C2,D2);[yl2,tl,zl2]=step(sysl2,tl); %比较非线性模型与线性模型的仿真结果(无反馈) nfig=nfig+1;figure(nfig); subplot(2,1,1),plot(tnl2,znl2(:,1),′g-′,tl,zl2(:,1),′go′),g rid title(′SFunInvertedPendulumRodAngle(stepresponse)′)xlabel(′Time(sec)′),ylabel(′RodAngle(radians)′) legend(′nonlinear′,′linear′) % subplot(2,1,2),plot(tnl2,znl2(:,3),′r-′,tl,zl2(:,3),′ro′), grid title(′S-FunInvertedPendulumCartPosition(stepresponse)′)xlabel(′Time(sec)′),ylabel(′CartPosition(m)′) legend(′nonlinear′,′linear′) %PartIII.设计最简单的经典控制器来稳定系统,针对小车位置的闭环系统进行仿真 %对在Simulink模型中使用的矩阵进行初始化 A=A1;B=B1;C=C1;D=D1; %倒摆角度的反馈 invpnsl1%显示相关Simulink仿真模型(倒摆角度反馈disp(′FollowingdataforRODPOSITIONfeedback:′); K1=[0.111010050010005000]; forj=1:7 k1=-K1(j),[A1,B1,C1,D1]=linmod(′invpnsl1′);eig(A1)end %小车位置反馈 invpnsl2%显示相关Simulink仿真模型(小车位置反馈)disp(′FollowingdataforCARTPOSITIONfeedback:′); K2=[0.111010050010005000]; forj=1:7 k2=-K2(j),[A2,B2,C2,D2]=linmod(′invpnsl2′);eig(A2)end %同时加入两个反馈回路(小车位置与倒摆角度) invpnsl3%显示相关Simulink仿真模型(两个反馈回路 disp(′Closedloopsystemwithtwofeedbackloops′); k1=-50,k2=-2%缺省的增益值 nfig=nfig+1;cont=′y′; whilecont==′y′ [A3,B3,C3,D3]=linmod(′invpnsl3′);eig(A3) %仿真系统的阶跃响应 to=0;tf=10;tlf=linspace(to,tf,101); sysl3=ss(A3,B3,C3,D3);[ylf,tlf,zlf]=step(sysl3,tlf); figure(nfig); subplot(3,1,1),plot(tlf,ylf(:,1),′g-′),grid title([′LinearInvertedPendulumBehavior(k1=′,... num2str(k1),′k2=′,num2str(k2),′)′]) ylabel(′RodAngle(radians)′) % subplot(3,1,2),plot(tlf,ylf(:,2),′r-′),grid ylabel(′CartPo
文档评论(0)