Matlab遗传算法工具箱求函数最小值 |
您所在的位置:网站首页 › 遗传算法求的是最小值还是最大值 › Matlab遗传算法工具箱求函数最小值 |
题目
先上代码
%%%%%%%%%%%%%%%
%% test.m %%
%% Feng1909 %%
%%%%%%%%%%%%%%%
function result = test(a)
is_max = 0;
x = a(1);
y = a(2);
PI = 3.141592653;
if is_max == 0
result = -(sin(3*PI*x)*cos(4*PI*y)+cos(5*PI*x*sin(2*PI*y)))*(1);
end
if is_max == 1
result = (sin(3*PI*x)*cos(4*PI*y)+cos(5*PI*x*sin(2*PI*y)))*(1);
end
end
代码解释
定义函数名为test,传入变量为向量a,该向量是一个二维向量,在函数中分别令x和y取a向量的两个值作为待优化函数的输入,当计算函数最大值时,将is_max变量赋值为1,否则为0,通过函数计算返回函数值 GA工具箱打开Matlab中的GA工具箱,设置如下: 然后点击Start按钮开始优化 结果min: -1.9999999999719975 x = 0.16666739259256413 y = -0.5000001466254731 max: -1.9638487135569358 x= 0.19121141960284982 y = 1.2499963437299235 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |