MATLAB脚本发现用户定义函数的极值,具有核磁体和MEAD Simplex算法。
必须首先使用某个名称定义函数,作为MATLAB函数(AnyFunctionName.m)。
用户输入:
*问题的维度数量
*起点向量
* Alpha,Beta,Gamma
*三角洲
* lambda.
* EPS1,EPS2
在脚本中也提供参数的推荐值。
帝国(2021年)。Nelder和Mead Simplex算法(//www.tatmou.com/matlabcentral/fileexchange/69636-nonder-d-mead-simplex-algorithm),Matlab中央文件交换。检索到。
您好,如何在此处定义我的两个变量函数?
嗨帝国,你是对的,你的代码一切都很好。Matlab只是在案件中挣扎着迭代的数量。
大家好,正如我所说,我看到多变量案例没有问题..我还在评论中将示例代码放在2个变量函数中。它对我很好..不要忘记将变量定义为向量。对不起,我看不出你的问题是什么..(:
嘿Dila,谢谢你的代码!我正在努力解决以下命令:
......
对于K = 1:INF
......
对于KK = 1:INF
......
f(索引)= -inf;
......
代码停止这些点。有人有类似的问题吗?
有人有2个变量的工作代码吗?
非常感谢。
亲爱的Dilea,如何为多个变量调整此函数,因为它仅适用于单个变量。谢谢你。
代码没有问题,它也可以使用2个变量。您应该将变量定义为向量,例如;
功能hxy = himmelblau(v)
%v = [x y] v:变量
HXY =(v(1)^ 2 + v(2)-11)^ 2 +(v(1)+ v(2)^ 2 + 7)^ 2;
将此功能保存为“himmelblau.m”,算法适用于这些输入:
请输入您已定义的函数的名称:Himmelblau
输入问题的尺寸数,N:2
输入起点向量,X0 = [....]:[0 0]
alpha(推荐值= 1):1
β(推荐值= 0.5):0.5
伽玛(推荐值= 2):2
三角洲(推荐值= 0.5):5
Lambda(推荐值= 1):1
eps1 i.e.:10^ -6:10^ --6
EPS2 i.E.:10^-6:10^ -6
-test123-
什么是输入fname =输入('请输入您定义的函数的名称:','s');?
AnyFunctionname.m.
包含多个输入变量的问题在线41.请修复该问题。谢谢!
你可以给出这个代码的一个样本示例吗?
我尝试过使用此代码,它与1个独立变量合作,但是m无法使用两个变量。