线性二次最优控制加权阵遗传算法优化适应度函数m文件.docVIP

线性二次最优控制加权阵遗传算法优化适应度函数m文件.doc

  1. 1、本文档共2页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
线性二次最优控制加权阵遗传算法优化适应度函数m文件 //适应度用scores表示,个体用pop表示 function scores= myfitness(pop) A=[0 0 0 1 0 0; 0 0 0 0 1 0; 0 0 0 0 0 1; 0 2.9510 -0.0209 0 0 0; 0 109.8286 -21.3031 0 0 0; 0 -36.8817 35.8671 0 0 0]; B=[0;0;0;0.7483;5.1342;-0.0596]; C=eye(6); D=[0;0;0;0;0;0]; //构造最优状态加权阵 Q=[pop(1) 0 0 0 0 0; 0 pop(2) 0 0 0 0; 0 0 pop(3) 0 0 0; 0 0 0 pop(4) 0 0; 0 0 0 0 pop(5) 0; 0 0 0 0 0 pop(6)]; R=[pop(7)]; //求取最优状态反馈阵 K=LQR(A,B,Q,R); //得到仿真数据 Ac = [(A-B*K)]; Bc = [B]; Cc = [C]; Dc = [D]; T = 0:0.005:5; U = 0.2*ones(size(T)); [y,x]=lsim(Ac,Bc,Cc,Dc,U,T); u=-1*(K*x); //得到适应度函数表达式 scores=1-1/(pop(1)*(x(:,1)*x(:,1))+pop(2)*(x(:,2)*x(:,2))+pop(3)*(x(:,3)*x(:,3)) +pop(4)*(x(:,4)*x(:,4))+pop(5)*(x(:,5)*x(:,5))+pop(6)*(x(:,6)*x(:,6))); end 模糊控制器量化比例因子遗传算法优化适应度函数m文件 //适应度用scores表示,个体用pop表示,G,H为连续系统离散化矩阵 function scores=fuzzyfitness(pop) G = [ 1 0 0 0.0010 0 0 0 1 0 0 0.0010 0 0 0 1 0 0 0.0010 0 0.0030 0 1 0 0 0 0.1098 -0.0213 0 1 0 0 -0.0369 0.0359 0 0 1]; H =[0;0;0;0.0007;0.0051;-0.0001]; a=readfis(fu76.fis); x{1}=[0;0.01;0.01;0;0;0]; for i=1:1001 e{i}=[0.07549 0.4667 -0.8648 0 0 0]*x{i}; E{i}=12.0*(1-exp(-pop(1)*e{i}))/(1+exp(-pop(1)*e{i})); ec{i}= [0 0 0 0.08239 0.01116 -0.14756]*x{i}; EC{i}=12.0*(1-exp(-pop(2)*ec{i}))/(1+exp(-pop(2)*ec{i})); u{i}=evalfis([E{i} EC{i}],a); x{i+1}=G*x{i}+H*u{i}*pop(3); end for i=1:1001 scores=sum(0.001*(i-1)*[1 1 1 0 0 0]*abs(x{i})); end end

您可能关注的文档

文档评论(0)

youyang99 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档