Hi my new friend!

MatLab遗传算法求最小值

  • Home
  • MatLab遗传算法求最小值
Scroll down

题目

在这里插入图片描述

先上代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
%%%%%%%%%%%%%%%
%% 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,该向量是一个二维向量,在函数中分别令xya向量的两个值作为待优化函数的输入,当计算函数最大值时,将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

我是学生,给我钱

其他文章
目录导航 置顶
  1. 1. 题目
    1. 1.1. 先上代码
      1. 1.1.1. 代码解释
      2. 1.1.2. GA工具箱
      3. 1.1.3. 结果
请输入关键词进行搜索