首页 自-matlab常用的几个适应度评价函数

自-matlab常用的几个适应度评价函数

举报
开通vip

自-matlab常用的几个适应度评价函数 HYPERLINK""粒子群算法(6)-----几个适应度评价函数下面给出几个适应度评价函数,并给出图形表示     头几天机子种了病毒,重新安装了系统,不小心把程序全部格式化了,痛哭!!!没办法,好多程序不见了,现在把这几个典型的函数重新编写了,把他们给出来,就算粒子群算法的一个结束吧!痛恨病毒!!!!第一个函数:Griewank函数,图形如下所示:适应度函数如下:(为了求最大值,我去了所有函数值的相反数)  function y = Griewank(x)% Griewan函数% 输入x,给出相应的y值...

自-matlab常用的几个适应度评价函数
 HYPERLINK""粒子群算法(6)-----几个适应度评价函数下面给出几个适应度评价函数,并给出图形表示     头几天机子种了病毒,重新安装了系统,不小心把程序全部格式化了,痛哭!!!没办法,好多程序不见了,现在把这几个典型的函数重新编写了,把他们给出来,就算粒子群算法的一个结束吧!痛恨病毒!!!!第一个函数:Griewank函数,图形如下所示:适应度函数如下:(为了求最大值,我去了所有函数值的相反数)  function y = Griewank(x)% Griewan函数% 输入x,给出相应的y值,在x = ( 0 , 0 ,…, 0 )处有全局极小点0.% 编制人:% 编制日期:[row,col] = size(x);if  row > 1     error( ' 输入的参数错误 ' );endy1 = 1 / 4000 * sum(x. ^ 2 );y2 = 1 ;for  h = 1 :col    y2 = y2 * cos(x(h) / sqrt(h));endy = y1 - y2 + 1 ;y =- y;绘制函数图像的代码如下:function DrawGriewank()% 绘制Griewank函数图形x = [ - 8 : 0.1 : 8 ];y = x;[X,Y] = meshgrid(x,y);[row,col] = size(X);for  l = 1 :col     for  h = 1 :row        z(h,l) = Griewank([X(h,l),Y(h,l)]);    endendsurf(X,Y,z);shading interp第二个函数:Rastrigin函数,图形如下所示:适应度函数如下:(为了求最大值,我去了所有函数值的相反数)  function y = Rastrigin(x)% Rastrigin函数% 输入x,给出相应的y值,在x = ( 0 , 0 ,…, 0 )处有全局极小点0.% 编制人:% 编制日期:[row,col] = size(x);if  row > 1     error( ' 输入的参数错误 ' );endy = sum(x. ^ 2 - 10 * cos( 2 * pi * x) + 10 );y =- y;绘制函数图像的代码如下:function DrawRastrigin()% 绘制Rastrigin函数图形x = [ - 5 : 0.05 : 5 ];y = x;[X,Y] = meshgrid(x,y);[row,col] = size(X);for  l = 1 :col     for  h = 1 :row        z(h,l) = Rastrigin([X(h,l),Y(h,l)]);    endendsurf(X,Y,z);shading interp第三个函数Schaffer函数,图形如下所示:函数的代码如下,因为该函数在(0,...,0)处有最大值1,因此不需要取相反数。[c-sharp] HYPERLINK""\o"viewplain"viewplainHYPERLINK""\o"copy"copyfunction result=Schaffer(x1)  %Schaffer 函数  %输入x,给出相应的y值,在x=(0,0,…,0) 处有全局极大点1.  %编制人:  %编制日期:  [row,col]=size(x1);  if row>1      error('输入的参数错误');  end  x=x1(1,1);  y=x1(1,2);  temp=x^2+y^2;  result=0.5-(sin(sqrt(temp))^2-0.5)/(1+0.001*temp)^2;    绘制函数代码图形的代码如下:[c-sharp] HYPERLINK""\o"viewplain"viewplainHYPERLINK""\o"copy"copyfunction DrawSchaffer()  x=[-5:0.05:5];  y=x;  [X,Y]=meshgrid(x,y);  [row,col]=size(X);  for l=1:col  for h=1:row  z(h,l)=Schaffer([X(h,l),Y(h,l)]);  end  end  surf(X,Y,z);  shading interp    第四个函数:Ackley函数,函数图形如下:函数的代码如下,因为该函数在(0,...,0)处有最小值0,因此需要取相反数[c-sharp] HYPERLINK""\o"viewplain"viewplainHYPERLINK""\o"copy"copyfunction result=Ackley(x)  %Ackley 函数  %输入x,给出相应的y值,在x=(0,0,…,0) 处有全局极小点0,为得到最大值,返回值取相反数  %编制人:  %编制日期:  [row,col]=size(x);  if row>1      error('输入的参数错误');  end  result=-20*exp(-0.2*sqrt((1/col)*(sum(x.^2))))-exp((1/col)*sum(cos(2*pi.*x)))+exp(1)+20;  result=-result;   绘制函数代码图形的代码如下:[c-sharp] HYPERLINK""\o"viewplain"viewplainHYPERLINK""\o"copy"copyfunction DrawAckley()  %绘制Ackley函数图形  x=[-8:0.1:8];  y=x;  [X,Y]=meshgrid(x,y);  [row,col]=size(X);  for l=1:col      for h=1:row          z(h,l)=Ackley([X(h,l),Y(h,l)]);      end  end  surf(X,Y,z);  shading interp  第五个函数是:Rosenbrock函数,该函数在(1,...,1)处有最小值0,为了得到最大值,取函数值的相反数。函数图形如下所示 函数的代码: [c-sharp] HYPERLINK""\o"viewplain"viewplainHYPERLINK""\o"copy"copyfunction result=Rosenbrock(x)  %Rosenbrock 函数  %输入x,给出相应的y值,在x=(1,1,…,1) 处有全局极小点0,为得到最大值,返回值取相反数  %编制人:  %编制日期:  [row,col]=size(x);  if row>1      error('输入的参数错误');  end  result=100*(x(1,2)-x(1,1)^2)^2+(x(1,1)-1)^2;  result=-result;  绘制函数图形的代码如下:[c-sharp] HYPERLINK""\o"viewplain"viewplainHYPERLINK""\o"copy"copyfunction DrawRosenbrock()  %绘制Rosenbrock函数图形,大铁锅函数,哈哈  x=[-8:0.1:8];  y=x;  [X,Y]=meshgrid(x,y);  [row,col]=size(X);  for l=1:col      for h=1:row          z(h,l)=Rosenbrock([X(h,l),Y(h,l)]);      end  end  surf(X,Y,z);  shading interp  
本文档为【自-matlab常用的几个适应度评价函数】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: ¥10.0 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
国民老公
暂无简介~
格式:doc
大小:295KB
软件:Word
页数:8
分类:生活休闲
上传时间:2021-12-21
浏览量:74