控制系统数字仿真与CAD-第四次实验-附完整代码

简介: 控制系统数字仿真与CAD-第四次实验-附完整代码

我的微信公众号名称:深度学习与先进智能决策

微信公众号ID:MultiAgent1024

公众号介绍:主要研究强化学习、计算机视觉、深度学习、机器学习等相关内容,分享学习过程中的学习笔记和心得!期待您的关注,欢迎一起学习交流进步!

完整代码

 

exc4.m

1. clear;
2. clear all;
3. clear close;
4. sa=2;sb=20;l=sb-sa;
5. e=1e-5;
6. x1=sa+(1-0.618)*l;
7. x2=sa+0.618*l;
8. q1=obj_asr(x1);
9. q2=obj_asr(x2);
10. count=0;
11. x_dot=[x1,x2];
12. while((sb-sa)/l>e)
13. if(q1>q2)
14.         sa=x1;
15.         x1=x2;
16.         q1=q2;
17.         x2=sa+0.618*(sb-sa);
18.         x_dot=[x_dot,x2];
19.         q2=obj_asr(x2);
20. else
21.         sb=x2;
22.         x2=x1;
23.         q2=q1;
24.         x1=sa+(1-0.618)*(sb- sa);
25.         x_dot=[x_dot,x1];
26.         q1=obj_asr(x1);
27. end
28. end
29. Kn_opt=(x1+x2)/2;
30. q_min=obj_asr(Kn_opt);
31. opt_asr_plot(Kn_opt);

fun4.m

1. function [result]=fun4(Kn)
2. tn=0.03;
3. Ki=0.269;
4. ti=0.067;
5. Ks=76;
6. Ts=0.00167;
7. R=6.58;
8. Tl=0.018;
9. Tm=0.25;
10. Ce=0.031;
11. Alpha=0.00337;
12. Beta=0.4;
13. A=[0 0 1 1 0];
14. B=[tn ti Ts Tl Tm*Ce];
15. C=[Kn Ki Ks 1/R R];
16. D=[Kn*tn Ki*ti 0 0 0];
17. c=8;
18. r=1;
19. W=[0 0 0 0 -Alpha;
20. 1 0 0 -Beta 0;
21. 0 1 0 0 0;
22. 0 0 1 0 -Ce;
23. 0 0 0 1 0];
24. W0=[1 0 0 0 0 ]';
25. block_num=5;
26. h=0.001; 
27. t_end=0.5;
28. t=0:h:t_end;
29. for k=1:block_num
30.     if (A(k)==0) %求积分或积分比例环节各系数
31.         FI(k)=1;
32.         FIM(k)=h*C(k)/B(k);
33.         FIJ(k)=h*h*C(k)/B(k)/2; 
34.         FIC(k)=1;
35.         FID(k)=0;
36.         if(D(k)~=0) %若为积分比例,修正fai d
37.             FID(k)=D(k)/B(k);
38.         end
39.     else
40.         FI(k)=exp(-h*A(k)/B(k)); % 求惯性或惯性比例环节各系数 
41.         FIM(k)=(1-FI(k))*C(k)/A(k);
42.         FIJ(k)=h*C(k)/A(k)-FIM(k)*B(k)/A(k); 
43.         FIC(k)=1;
44.         FID(k)=0;
45.         if(D(k)~=0)
46.             FIC(k)=C(k)/D(k)-A(k)/B(k);
47.             FID(k)=D(k)/B(k);
48.         end
49.     end
50. end
51. Y0=[0 0 0 0 0]'; 
52. n=length(t);
53. Y=Y0;
54. X=zeros(block_num,1);
55. result=Y;
56. Uk=zeros(block_num,1);
57. Ub=Uk; 
58. for m=1:(n-1)
59.     Ub=Uk;
60.     Uk=W*Y+W0*r;
61.     Uf=2*Uk-Ub;
62.     Udot=(Uk-Ub)/h;
63. %     X=FI'.*X+FIM'.*Uk;
64. %     Y=FIC'.*X+FID'.*Uf;
65.     X=FI'.*X+FIM'.*Uk+FIJ'.*Udot;
66.     Y=FIC'.*X+FID'.*Uf;
67.     Y(1)=satur(Y(1),c);
68.     result=[result,Y];
69. end
70. 
71. end

obj_asr.m

1. function q=obj_asr(Kn)
2. result = fun4(Kn);
3. y_inf = 296.7350;
4. q=100*(max(result(5,:))-y_inf)/y_inf; 
5. end

opt_asr_plot.m

1. function q=opt_asr_plot(Kn)
2. result = fun4(Kn);
3. h=0.001; 
4. t_end=0.5;
5. t=0:h:t_end;
6. figure
7. subplot(4,1,1),plot(t,result(4,:)),grid,title('Id')
8. subplot(4,1,2),plot(t,result(3,:)),grid,title('Ud')
9. subplot(4,1,3),plot(t,result(2,:)),grid,title('ACR')
10. subplot(4,1,4),plot(t,result(1,:)),grid,title('ASR')
11. figure;
12. plot(t,result(5,:),'r');grid,title('n') 
13. end

satur.m

1. function [uo]=satur(ui,c)
2. if (abs(ui)<=c)
3.     uo=ui;
4. elseif (ui>c)
5.     uo=c;
6. else
7.     uo=-c;
8. end
9. end

相关文章
|
4月前
|
算法 5G
基于LDPC编译码和FP-MAP球形检测算法的协作MIMO系统误码率matlab仿真
基于LDPC编译码和FP-MAP球形检测算法的协作MIMO系统误码率matlab仿真
|
9月前
控制系统数字仿真与CAD-第三次实验-附完整代码
控制系统数字仿真与CAD-第三次实验-附完整代码
|
9月前
控制系统数字仿真与CAD-第二次实验-附完整代码
控制系统数字仿真与CAD-第二次实验-附完整代码
|
9月前
|
机器学习/深度学习 决策智能 计算机视觉
控制系统数字仿真与CAD-第一次实验-附完整代码
控制系统数字仿真与CAD-第一次实验-附完整代码
|
异构计算
实验四 基于FPGA的数字电子钟设计(1) 基本功能的实现 quartus电路图演示
实验四 基于FPGA的数字电子钟设计(1) 基本功能的实现 quartus电路图演示
535 0
实验四 基于FPGA的数字电子钟设计(1) 基本功能的实现 quartus电路图演示
|
11月前
|
存储 传感器 计算机视觉
MATLAB实现工业PCB电路板缺陷识别和检测
PCB(Printed Circuit Board印刷电路板)是电子产品中众多电子元器件的承载体,它为各电子元器件的秩序连接提供了可能,PCB已成为现代电子产品的核心部分。随着现代电子工业迅猛发展,电子技术不断革新,PCB密集度不断增大,层级越来越多,生产中因焊接缺陷的等各种原因,导致电路板的合格率降低影响整机质量的事故屡见不鲜。随着印刷电路板的精度、集成度、复杂度、以及数量的不断提高,PCB板的缺陷检测已成为整个电子行业中重要的检测内容。其中人工目测等传统的PCB缺陷检测技术因诸多弊端已经不能适应现代工业生产水平的要求,因此开发和应用新的检测方法已显得尤为重要。
|
机器学习/深度学习 传感器 算法
基于Matlab模拟认知无线电中的能量检测
基于Matlab模拟认知无线电中的能量检测
现代检测技术课程实验编程:波特图分析仪原理仿真:一阶检测系统编程仿真
现代检测技术课程实验编程:波特图分析仪原理仿真:一阶检测系统编程仿真
现代检测技术课程实验编程:波特图分析仪原理仿真:一阶检测系统编程仿真
|
测试技术
电力电子技术课程实验:实验一、DC/DC直流斩波电路制作与性能测试
电力电子技术课程实验:实验一、DC/DC直流斩波电路制作与性能测试
电力电子技术课程实验:实验一、DC/DC直流斩波电路制作与性能测试
|
算法 5G
m基于matlab的超宽带MIMO雷达对目标的检测仿真,考虑时间反转
m基于matlab的超宽带MIMO雷达对目标的检测仿真,考虑时间反转
120 0
m基于matlab的超宽带MIMO雷达对目标的检测仿真,考虑时间反转