基于matlab的适应度曲线的代码,matlab常用的几个适应度评价函数分析.docx

matlab常用的几个适应度评价函数分析

/niuyongjie/article/details/1619496?粒子群算法(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]?view plaincopyfunction?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]?view plaincopyfunction?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]?view plaincopyfunction?result=Ackley(x)??%Ackley?函数??%输入x,给出相应的y值,在x=(0,0,…,0)?处有全局极小点0,为得到最大值,返回值取相反数??%编制人:??%编制日期:??[row,col]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值