MATLAB绘制出权值wv和阀值bv确定的误差曲面

源代码在线查看: matlab无约束优化中的应用.txt

软件大小: 56 K
上传用户: dxhh
关键词: MATLAB 绘制 误差
下载地址: 免注册下载 普通下载 VIP

相关代码

				无约束优化中的应用2007/06/02 23:56
				求在-5				当n=2时,
				[x1,x2] = meshgrid(-5:0.1:5);
				f=-20*exp(-0.2*sqrt(0.5*(x1.^2+x2.^2)))-exp(0.5*(cos(2*pi*x1)+cos(2*pi*x2)))+22.71282;
				mesh(x1,x2,f); 
				xlabel('x1');
				ylabel('x2');
				zlabel('f(x1,x2)');
				如图
				
				
				
				
				遗传算法的参数设置如下:
				种群大小 pop_size=10
				最大代数   gen_max=1000
				变异率     pm=0.1
				交叉率     pc=0.3
				function [eval]=griewangk(sol)
				numv = size(sol,2);
				x=sol(1:numv);
				eval=-20*exp(-0.2*sqrt(sum(x.^2)/numv))-exp(sum(cos(2*pi*x))/numv)+22.71282;
				function [sol,eval]=Ackleymin(sol,options)
				numv = size(sol,2)-1;
				x=sol(1:numv);
				eval=griewangk(x);
				eval=-eval;
				%维数n=2
				%设置参数边界
				bounds = ones(2,1)*[-5   5];
				%遗传算法优化
				[p,endPop,bestSols,trace]=ga(bounds,'Ackleymin');
				%性能跟踪
				plot(trace(:,1),trace(:,3),'b-')
				hold on
				plot(trace(:,1),trace(:,2),'r-')
				xlabel('Generation');
				ylabel('Fittness');
				legend('解的变化','种群平均值的变化');
				p =
				     0.0000    -0.0000     0.0055
				即最优解围p=0.0000 0.0000 
				最小值为:
				Ackley(p)=0.0055
				
				
				 
							

相关资源