查看: 125|回复: 0|关注: 0

[未答复] 求时变时滞系统的输入量u和状态量x随时间t的变化曲线

[复制链接]

新手

28 麦片

财富积分


050


1

主题

2

帖子

0

最佳答案
发表于 6 天前 | 显示全部楼层 |阅读模式
题目要求如下:
题目.png
我尝试用MATLAB编程,我的程序共分为5部分,(代码后面附上)
1部分:定义了一些后面会用到的常数或矩阵,A,B,C,D代表着系统状态空间表达式的参数矩阵。
2部分:求解参数gama的循环判断结构
3部分:由gama求解矩阵P
4部分:表示系统,控制规律,画图
5部分:定义循环判断结构中会用到的函数V
本人水平十分有限,代码无法运行,实在不知如何改动,求助于各位大神,另外如果用Simulink可以实现的话,也请给些建议,十分感谢各位大神!
  1. clear
  2. clc
  3. %to define some constants and constant matrix
  4. A=[0 1 0 0 0;0 0 1 0 0;0 0 0 0 0;0 0 0 0 1;0 0 0 0 0];
  5. B=[0 2;0 -1;1 2;0 0;0 1];
  6. C=[1 0 0 0 0;0 1 0 0 0;0 0 1 0 0;0 0 0 1 0;0 0 0 0 1];
  7. D=[0 0;0 0;0 0;0 0;0 0];
  8. x=[1;0;-1;2;-2];
  9. %define function to solve gama
  10. eta=1.2;
  11. rou1=0.3;
  12. rou2=2;
  13. ts=0;
  14. De=1;
  15. gama=0.3;
  16. t=0;
  17. while t<=60
  18.     [t,fval]=fminbnd(def_V,t-6.*De,t-4.*De);
  19.     Vmax1=fval;
  20.     [t,fval]=fminbnd(def_V,t-4.*De,t-2.*De);
  21.     Vmax2=fval;
  22.     [t,fval]=fminbnd(def_V,t-2.*De,t);
  23.     Vmax3=fval;
  24.     if t-ts<=6.*De
  25.         gama=gama;
  26.         De=De;
  27.     elseif ismember(((t-ts)/De-6)/2,N)==0
  28.         gama=gama;
  29.         De=De;
  30.     elseif Vmax2<=Vmax1 && Vmax3<=(Vmax1.*(max((1/eta),(exp(-gama.*2.*De)))))
  31.         gama=rou1.*gama;
  32.         De=rou2.*De;
  33.     else
  34.         gama=gama;
  35.         De=De;
  36.     end
  37. %to define matrix P
  38. M=[gama.^5 2.*(gama.^4) gama.^3 gama.^5 2.*(gama.^4).*(1-gama);2.*(gama^4) 9.*(gama.^3) 7.*(gama.^2) (2.*gama-10).*(gama.^3) (gama.^2).*(9.*gama-4.*(gama.^2)-10);gama.^3 7.*(gama.^2) 11.*gama (gama-10).*(gama.^2) gama.*(7.*gama-2.*(gama.^2)-20);gama.^5 (2.*gama-10).*(gama.^3) (gama-10).*gama.^2 (gama.^2+25).*(gama.^3) (2.*(gama.^2)+10-2.*(gama.^3)-10.*gama).*(gama.^2);2.*(1-gama).*(gama.^4) (9.*gama-4.*(gama.^2)-10).*(gama.^2) (7.*gama-2.*(gama.^2)-20).*gama (2.*(gama.^2)+25-2.*(gama.^3)-10.*gama).*(gama.^2) (9.*(gama.^2)-8.*(gama.^3)+4.*(gama^4)+50-20.*gama).*gama];
  39. P=1/5.*M;

  40. %to define state-place of linear time delay system
  41.     BT=B';
  42.     BP=-BT*P;
  43.     sys=delayss(A,B,C,D,delayt);
  44.     delayt=2.*(sin(8.*t))^2;
  45.     u=B*P*x;
  46.     [y,t,x]=lsim(sys,u,t,x);
  47.     plot(t,x)
  48.     plot(t,u)
  49.     t=t+0.01;
  50. end
  51. function V=def_V(x)
  52. V=-x.'*P*x;
  53. end
复制代码


回复主题 已获打赏: 0 积分

举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /3 下一条

快速回复 返回顶部 返回列表