在matlab中如何用遗传算法求解函数和的最小值

y=-2.113-0.1326*x+10.49*31.1688*exp(-0.755*x)+0.1505*x*x-2.924*x*31.1688*exp(-0.755*x... y =-2.113-0.1326*x+10.49*31.1688*exp(-0.755*x)+0.1505*x*x-2.924*x*31.1688*exp(-0.755*x)+10.11*(31.1688*exp(-0.755*x))*(31.1688*exp(-0.755*x))

x范围(0,0.01)

给我能在matlab跑出来的代码。。谢谢!!!
x的范围是(0,0.1) 0到0.1不是0到0.01
展开
 我来答
zhongjingjogy
推荐于2017-12-15 · TA获得超过211个赞
知道答主
回答量:68
采纳率:100%
帮助的人:26.1万
展开全部

该程序采用实数编码的遗传算法编写,附件1(real code ga.m)为matlab代码。

附件2(实数编码遗传算法参考资料):

http://www.math.zju.edu.cn/cagd/resources/thesis/PhDthesis_ZhouMingHUa.pdf

优化结果需要修改mutate_P以及变异量的大小。因为只有一个优化变量因此编程较为简单。

提供一个参考链接:http://zhidao.baidu.com/question/583959020.html?oldq=1

 

上图为所给函数的函数图像,最小值在x=0.01处。

下图为某次遗传算法优化结果:

收敛值在0.0097-0.0098.

更多追问追答
追问
代码下了,但我运行的时候为什么start旁边跳出个BUSY然后就没有出来运行结果?求解大神
追答
f=@(x) -2.113-0.1326*x+10.49*31.1688*exp(-0.755*x)+0.1505*x.*x...        -2.924*x*31.1688.*exp(-0.755*x)+10.11*(31.1688*exp(-0.755*x)).*(31.1688*exp(-0.755*x));   X = GA(f,1,[],[],[],[],0,0.1);
实在不行,你可以直接调用matlab现成的gafunction。上面是ga实现代码。输出项自己加点进去就可以看到了。具体怎么用,自己琢磨一下。
Sievers分析仪
2024-10-13 广告
是的。传统上,对于符合要求的内毒素检测,最终用户必须从标准内毒素库存瓶中构建至少一式两份三点标准曲线;必须有重复的阴性控制;每个样品和PPC必须一式两份。有了Sievers Eclipse内毒素检测仪,这些步骤可以通过使用预嵌入的内毒素标准... 点击进入详情页
本回答由Sievers分析仪提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式