遗传算法与直接搜索工具箱学习笔记 二-----编写自己的目标函数

 这一部分主要讲解如何写自己的目标函数。什么事目标函数呢?你使用遗传算法工具箱主要是想找到某一个函数的最优解吧,那么这个函数就是目标函数。这个函数你必须写成一个M文件的形式。这样才能符合遗传算法工具箱的要求,当然要求不仅仅这些,还有下面的一些要求:

     该函数应该接受一个矢量作为输入参数,该矢量的长度应该等于目标函数中独立变量的个数,该函数应该返回一个标量,这个标量应该是这个输入参数相对应的函数值。下面就演示一个目标函数的写法。假设你想优化下面的函数。

这个函数有两个独立的变量x1,x2.所以你的函数的输入参数应该是一个1X2的矢量。好了,理解清楚了,下面就开始写函数了

1.点击"File",选择"new"中的"Function M-File",出现matlab的文本编辑器界面,将你的内容改成下图的样子,呵呵。

2.保存文件,一定要保存呀。

3.测试你编写的函数。

在matlab中输入myTest([2 3]),回车。出现

ans =

    -5
恭喜你,你编写的函数正确,不然,你就要好好检查你刚才的目标函数的M文件了。

顺便也画出这个目标函数的图形。

 

遗传算法工具箱在使用的时候,对目标函数的最优化方向是什么?也就是这些工具对目标函数是求最大值还是求最小值呢?答案是:最小值。所以你如果相求一个函数的最大值的话,那么你必须修改原有的目标函数,让这个目标函数的最小值恰恰就是你想要的最大值,这个很简单了,前面加一个负号(-),一下子就变过来了。当然方法还有很多,相信自己,你会有更加绝妙的办法,哈哈。详细的就不说了,等着下一次的文章吧。

 

 

  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值