当前位置:   article > 正文

matlab多变量优化,matlab - Matlab使用fminsearch优化多变量 - 堆栈内存溢出

matlab 怎么使用两个优化变量

我正在使用Matlab fminsearch来最小化带有两个变量的方程sum((interval-5).^2, 2)*factor间隔是一个包含5个值的向量。 只能从1到30的步长为1的顺序选择它们。因子是0.1到0.9的值。

代码如下。 我认为区间值是正确的,但因子值是错误的。

间隔值:[3 4 5 6 7]因子值:0.6最终输出:6

我认为因子值应为0.1,最终输出应为1作为全局最小值。

%% initialization of problem parameters

minval = 1;

maxval = 30;

step = 1;

count = 5;

minFactor = 0.1;

maxFactor = 0.9;

%% the objective function

fun = @(interval, factor) sum((interval-5).^2, 2)*factor;

%% a function that generates an interval from its initial value

getinterval = @(start) floor(start) + (0:(count-1)) * step;

getfactor =@(start2) floor(start2 * 10)/10;

%% a modified objective function that handles constraints

objective = @(start, start2) f(start, fun, getinterval, minval, maxval, getfactor, minFac

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/332134
推荐阅读
相关标签
  

闽ICP备14008679号