📄 getmax.asv
字号:
format long
%求解方程fun(x)的最大值
%fun的定义在文件fun.m中
%参数意义:
%fun要求解的函数,20群体规模,10编码长度,Coding编码方法,UnCoding解码方法,directness选择算子,ucross交叉算子,
%SimpSimpleMutation变异算子,0.6交叉概率,0.1变异概率,-5搜索空间下界,5上界,10最大迭代次数,1是否显示图形
%参数说明:
%obj--要求解的函数
% 调用格式: obj(x)
%m--群体规模
%n--编码长度
%coding--生成初始群体函数
% 调用格式: coding(m,n), m,n为整数
% 返回值: m×n的0-1矩阵, 表示m个个体, 每个个体编码长度为n
%uncoding--解码函数, 将二进制转换为十进制
% 调用格式: uncoding(chrom,a,b), chrom为0-1矩阵, 表示二进制群体, a, b分别为搜索空间的上下界
% 返回值: 一列向量, 表示实值群体
%directness--选择函数
% 调用格式: directness(fitness,n), fitness为一列向量, 表示适应度值, n为选择个数
% 返回值: n×1的整数向量, 表示被选择个体的编号
%UniformCross--交叉函数
% 调用格式: UniformCross(chorm,pc), chorm为0-1矩阵, 表示二进制群体, pc为交叉概率
% 返回值: 0-1矩阵, 表示交叉后的新的群体
%mutation--变异函数
% 调用格式: mutation(chrom,pc), chrom为0-1矩阵, 表示二进制群体, pm为变异概率
% 返回值: 0-1矩阵, 表示变异后的新的群体
%pc--交叉概率
%pm--变异概率
%a, b--搜索空间[a,b]
%gn--迭代次数
%graph--是否要作图
mx=GaMax('fun',20,10,'Coding','UnCoding','directness','UniformCross','SimpleMutation',0.6,0.1,-3.0,12.1,4.1,5.8,10,1)
y=fun(mx(1),mx(2))
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -