问题标签 [fminsearch]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
158 浏览

algorithm - 需要一个全局优化算法

我正在研究一个全局优化问题,其算法如图(1)所示。我的目标是为给定的 epsilon2 值找到两个值(Gamma12 和 epsilon1)。

我知道 Gamma12 和 epsilon1 值的上限和下限将介于 0.1 和 -0.1 之间。

任何人都可以建议一种全局优化算法,即能够在可能的全局最小误差下找出 Gamma12 和 epsilon1 的值的算法。

我在matlab中试过fminsearch、fmincon、patternsearch算法,这些算法的问题是最初的猜测。我无法找到最初的猜测。

图1

0 投票
2 回答
899 浏览

matlab - 在 Matlab 中查找固定间隔上的两个变量函数的最小值和最大值,并将这些点与函数绘制在同一张图中

我在下面有这个函数,我需要计算这个函数 U 的最小值和最大值,并将最大值和最小值与函数一起绘制在 3D 图中。

我该如何编写代码?



我厌倦了这种方式来找到最大值,但我不知道我是否正确

并且对于最小值它没有相同的想法,我也没有得到最大值的确切值

0 投票
1 回答
526 浏览

matlab - 解决这个 4 变量问题的 fminsearch 错误?

我正在尝试使用 求解下面的等式fminsearch,但我认为目标函数是错误的。

我应该如何编写目标函数或修改代码的任何其他部分?这基本上是一个拟合问题,其中优化程序应将方程拟合到给定数据。

0 投票
0 回答
75 浏览

matlab - MATLAB 错误:非单一 rhs 维度比非单一下标

以下代码运行良好并给出了准确的结果。

c1...c5 是已知常数,x(1)...x(5)(匿名向量)是未知变量,需要fminsearch使用最小二乘法进行拟合。(t,y) 是拟合方程的给定数据(曲线),myfuncode45保存在单独的 .m 文件中的函数。

但是Assignment has more non-singleton rhs dimensions than non-singleton subscripts当我重写时发生错误()mainfunc(所有其他都相同):

p 是来自ode45in的曲线 (t,p) myfunc,它在第一个版本的代码中运行良好,所以没有问题。sqrt(p) 有两个术语会mainfunc导致问题吗?

0 投票
0 回答
296 浏览

matlab - 使用 parfor 循环并行化 fminsearch?

for在曲线拟合问题中有一个循环,需要使用parfor循环进行并行化。下面是for在单核中工作的循环,有没有办法可以将它转换为parfor

0 投票
0 回答
209 浏览

function - 存储 fminsearch 迭代

我正在使用 Octave 中的 fminsearch 最小化 3 个变量的非线性函数。因为,解决方案接近最小值,但不够接近,我需要调查迭代期间的行为。

我知道 Matlab 可以设置 optimset('PlotFcns',@optimplotfval) 来绘制迭代,但我在 Octave 中没有这种奢侈。每次将变量传递给我的函数时,有没有办法将变量存储在向量中?我的函数是单独定义的,它的名字作为句柄传递给 fminsearch。

0 投票
1 回答
129 浏览

python - 将 Matlab @ 转换为 Python 代码(RuntimeWarning:在 true_divide 中遇到无效值)

我正在将 Matlab 代码翻译成 python,我被困在这里。我认为@它正在创建一个局部变量,对吗?我试图用嵌套函数来引用代码,但在处理其中一个变量时似乎有问题。

代码正在运行,但迭代给了我这个输出

我得到的回报值与我用作暂定值的值相同有人可以帮助我吗?提前致谢

0 投票
1 回答
58 浏览

matlab - 为什么 A 的行大小在 fmincon 中很重要

我有一个 Matlab 代码,它使用fmincon一些约束。这样我就可以修改我考虑过的代码,条件矩阵 A 中的行位置是否有所不同

我设置了一个测试文件,这样我就可以更改一些变量。事实证明,条件的位置与结果无关,但 A 和 b 中的行数起了作用。我对此感到惊讶,因为我希望 A 和 b 中只有零的行会被抵消。

有人可以向我解释为什么 fmincon 会受到行号的影响吗?A 和 b 中的“正确”行号是多少?变量的数量还是条件的数量?

编辑 出于完整性的原因:

我同意由于迭代过程,不同的值是可能的。不过,我可以找到差异大于公差的情况:

添加+log(x(2)到函数中:

Matlab 支持告诉我,A 矩阵的行数不应多于条件。每个条件都使算法变得更加困难。

0 投票
1 回答
161 浏览

python - fmin_slsqp 返回找到三次样条最小值的初始猜测

我试图找到一个自然三次样条的最小值。我编写了以下代码来查找自然三次样条。(我已经得到了测试数据并且已经确认这个方法是正确的。)现在我不知道如何找到这个函数的最小值。

这是数据

这是功能

我想在我的 xdata 的域上找到最小值,所以 fmin 不起作用,因为你不能在那里定义边界。我尝试了 fmin_slsqp 和最小化。它们与我编写的函数不兼容,phi所以我重写phi(x, xd,yd)并添加了一个额外的变量,例如 phi 是phi(x, xd,yd, m). M 表示我们正在计算样条曲线的哪个子函数(从 x_m 到 x_m+1)。在我们替换#solution 1为以下代码的代码中

为了在域 x_m 到 x_(m+1) 中找到最小值,我们使用以下代码:(我们使用 m=0 的实例,因此 x 从 0.25 到 0.5。初始猜测是 0.3)

然后我会做什么(我知道这很粗糙),用 for 循环迭代它以找到所有子域的最小值,然后取整体最小值。但是,该函数fmin_slsqp不断返回初始猜测值作为最小值。所以有问题,我不知道如何解决。如果您能帮助我,我们将不胜感激。感谢您阅读本文。

0 投票
1 回答
221 浏览

matlab - 我可以从 fminsearch 获得雅可比行列式吗

我想知道是否有一种简单的方法可以从 Matlab 中的 fminsearch 中获取 Jacobian 矩阵?像 [OptimizedParamters,residualsNorm,residual,exitflag,output,lambda,jacobian] = lsqnonlin(@function, intialparamtersguess,lb,ub,options);

我试过了 options = optimset('MaxFunEvals',100,'Jacobian','on'); [x,fval,exitflag,output] = fminsearch(fun,x0,options)

但输出中没有雅各宾派

请有任何想法