| 查看: 1226 | 回复: 0 | ||
bingbz金虫 (小有名气)
|
[求助]
基于遗传算法的LQR优化问题,适应度函数总是报错。
|
|
适应度函数如下: function scores=jisuan(pop) A=[0 0 1 0;0 0 0 1;0 -409.24 -81.06 104.63;0 269.35 54.58 -54.58]; B=[0 0;0 0;101.7 101.7;-53.05 -53.05]; C=eye(4); D=[0 0;0 0;0 0;0 0]; Q=[pop(1) 0 0 0; 0 pop(2) 0 0;0 0 pop(3) 0;0 0 0 pop(4)]; R=[1 0;0 1]; Bc=B; Cc=C; Dc=D; [K,S,E]=lqr(A,B,Q,R); Ac=(A-B*K); T=0:0.005:15; U=0*ones(3001,2); x0=[0;0;0.3;0]; [y,x]=lsim(Ac,Bc,Cc,Dc,U,T,x0); 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))); end 总是报错: Error running optimization. The "lqr" command failed to stabilize the plant or find an optimal feedback gain. To remedy this problem: 1. Make sure that all unstable poles of A are controllable through B (use MINREAL to check) 2. Modify the weights Q and R to make [Q N;N' R] positive definite (use EIG to check positivity). 求大神帮助!! |
» 猜你喜欢
有70后还继续奋斗在职场上的吗?
已经有6人回复
博士延得我,科研能力直往上蹿
已经有7人回复
退学或坚持读
已经有27人回复
面上基金申报没有其他的参与者成吗
已经有5人回复
遇见不省心的家人很难过
已经有22人回复
多组分精馏求助
已经有6人回复













回复此楼