一,问题描述
1.利用遗传算法工具箱,编程实现函数的极大值/极小值求解。
问题描述:完成函数函数9-2的极值求解。
2.利用GUI图形用户界面,求解函数f(x,y)=1-0.1[sin(x2+y2)-0.1]/(x2+y2)的适应度值,并记录结果,画图。
二,代码流程
1、例9-2:
(1)、代码
A = [1 1; -1 2; 2 1];
b = [2; 2; 3];
lb = zeros(2,1);
[x,fval,exitflag,output] = ga(@lincontest6,2,A,b,[],[],lb)
(2)、运行结果
由以上结果可知:x1=0.6670 x2=1.3340
2.例2
(1)根据题目建立遗传算法的适应度函数,代码为
function y=M9_6(x)
if x<=2 & x>=-1
y=-(x*sin(10*pi*x)+2.0);
else
y=0;
end
(2).在命令窗口中输入optimtool,打开GUI工具箱,![9c9df473f21c49b8b9a984345717ad69.png](https://img-blog.csdnimg.cn/9c9df473f21c49b8b9a984345717ad69.png)
将Solver选择到
将GUI界面的参数设置为:
(3)、输出结果
平均适应值和最优适应值效果图