智能控制作业报告-基于遗传算法的模糊控制器最优设计

智能控制作业报告-基于遗传算法的模糊控制器最优设计

ID:3446954

大小:107.50 KB

页数:11页

时间:2017-11-21

智能控制作业报告-基于遗传算法的模糊控制器最优设计_第1页
智能控制作业报告-基于遗传算法的模糊控制器最优设计_第2页
智能控制作业报告-基于遗传算法的模糊控制器最优设计_第3页
智能控制作业报告-基于遗传算法的模糊控制器最优设计_第4页
智能控制作业报告-基于遗传算法的模糊控制器最优设计_第5页
资源描述:

《智能控制作业报告-基于遗传算法的模糊控制器最优设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、西安理工大学研究生课程论文/研究报告课程名称:智能控制任课教师:论文/研究报告题目:基于遗传算法的模糊控制器最优设计完成日期:2016年8月27日学科:电力电子与电力传动学号:姓名:1.基于遗传算法的模糊控制MATLAB程序:clearallcloseallclcT=0.1;%控制系统采样时间TM=200;%控制系统运行次数time=zeros(1,TM);kp=0.2;ki=0.002;kd=20;tr=0;%定义初始种群参数N=10;%初始种群数目M=3;%遗传代数varb=3;%语言值个数yout1=zeros(N

2、,TM);yout=zeros(M,TM);fitness=zeros(1,N);%产生初始种群n=varb^2;n1=varb^2+varb*2;%每条染色体的长度mfpara1=randint(N,n,[1,varb]);%控制规则表mfpara2=-1*rand(N,varb);%mfpara2(1),mfpara2(2),mfpara2(3)分别为an,bn,cnmfpara3=rand(N,varb);%mfpara3(1),mfpara3(2),mfpara3(3)分别为ap,bp,cpinit=[mfpar

3、a1,mfpara2,mfpara3];%离散化被控对象num=[1];den=conv(conv([1,0.1],[1,0.2]),[1,0.7]);g=tf(num,den);yn=c2d(g,T,'zoh');[tt,ff]=tfdata(yn,'v');%开始循环p=1whilep<=M%循环代数从1到3q=1whileq<=N%染色体数从1到10y=zeros(1,TM);u=zeros(1,TM);er=zeros(1,TM);10yr=zeros(1,TM);e1=0;e2=0;E1=0;y1=0;y2=0

4、;y3=0;u1=0;u2=0;u3=0;e=zeros(1,TM);E=zeros(1,TM);fork=1:TM%运行系统yr(k)=1;y(k)=-ff(2)*y1-ff(3)*y2-ff(4)*y3+tt(2)*u1+tt(3)*u2+tt(4)*u3;y3=y2;y2=y1;y1=y(k);u3=u2;u2=u1;e(k)=yr(k)-y(k);er(k)=(e(k)-e1)/T;detae=fu_zzy(init(q,:),e(k),er(k),varb);%调用模糊控制规则程序E(k)=e(k)+detae

5、;u(k)=kp*E(k)+ki*sum(E)+kd*(E(k)-E1);E1=E(k);u1=u(k);e2=e1;e1=e(k);endfork=1:TMifabs(y(k)-1)<=0.1tr=k*T;%上升时间trbreakendendymax=0;fork=1:TMifymax

6、量overshoottrovershootaccer%计算适配值,归一化0—100if(tr>2)

7、(overshoot>1)

8、(accer>50)10fitness2=0;elsetr1=tr*50;overshoot1=overshoot*100;accer1=accer*2;index=[tr1,abs(overshoot1),accer1];fitness1=(0.6*index(1)+1.2*index(2)+1.2*index(3))/3;fitness2=100-fitness1;endfitness(q)

9、=fitness2;y;yout1(q,:)=y;q=q+1end%一代种群运行完毕fitness[maxfit1,h]=max(fitness);maxfit(p)=maxfit1%每代的最大适配值存入maxfityout(p,:)=yout1(h,:);%每一代当适配值最大时,系统的阶跃响应输出init=gene_tic(init,fitness,p,N,varb,n,n1);%调用遗传算法优化,得到新的种群p=p+1end%运行3代后结束fork=1:TMtime(k)=k*T;endplot(time,yout(

10、1,:),'r-',time,yout(2,:),'g-',time,yout(3,:),'b-')legend('遗传第1代','遗传第2代','遗传第3代')gridonbest=max(maxfit)e1=1;y=[];e=[];e1=0;y1=0;y2=0;y3=0;u1=0;u2=0;u3=0;fork=1

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。