问题标签 [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.
matlab - 在 Matlab 中查找固定间隔上的两个变量函数的最小值和最大值,并将这些点与函数绘制在同一张图中
我在下面有这个函数,我需要计算这个函数 U 的最小值和最大值,并将最大值和最小值与函数一起绘制在 3D 图中。
我该如何编写代码?
我厌倦了这种方式来找到最大值,但我不知道我是否正确
并且对于最小值它没有相同的想法,我也没有得到最大值的确切值
matlab - 解决这个 4 变量问题的 fminsearch 错误?
我正在尝试使用 求解下面的等式fminsearch
,但我认为目标函数是错误的。
我应该如何编写目标函数或修改代码的任何其他部分?这基本上是一个拟合问题,其中优化程序应将方程拟合到给定数据。
matlab - MATLAB 错误:非单一 rhs 维度比非单一下标
以下代码运行良好并给出了准确的结果。
c1...c5 是已知常数,x(1)...x(5)(匿名向量)是未知变量,需要fminsearch
使用最小二乘法进行拟合。(t,y) 是拟合方程的给定数据(曲线),myfunc
是ode45
保存在单独的 .m 文件中的函数。
但是Assignment has more non-singleton rhs dimensions than non-singleton subscripts
当我重写时发生错误()mainfunc
(所有其他都相同):
p 是来自ode45
in的曲线 (t,p) myfunc
,它在第一个版本的代码中运行良好,所以没有问题。sqrt(p) 有两个术语会mainfunc
导致问题吗?
matlab - 使用 parfor 循环并行化 fminsearch?
我for
在曲线拟合问题中有一个循环,需要使用parfor
循环进行并行化。下面是for
在单核中工作的循环,有没有办法可以将它转换为parfor
?
function - 存储 fminsearch 迭代
我正在使用 Octave 中的 fminsearch 最小化 3 个变量的非线性函数。因为,解决方案接近最小值,但不够接近,我需要调查迭代期间的行为。
我知道 Matlab 可以设置 optimset('PlotFcns',@optimplotfval) 来绘制迭代,但我在 Octave 中没有这种奢侈。每次将变量传递给我的函数时,有没有办法将变量存储在向量中?我的函数是单独定义的,它的名字作为句柄传递给 fminsearch。
python - 将 Matlab @ 转换为 Python 代码(RuntimeWarning:在 true_divide 中遇到无效值)
我正在将 Matlab 代码翻译成 python,我被困在这里。我认为@它正在创建一个局部变量,对吗?我试图用嵌套函数来引用代码,但在处理其中一个变量时似乎有问题。
代码正在运行,但迭代给了我这个输出
我得到的回报值与我用作暂定值的值相同有人可以帮助我吗?提前致谢
matlab - 为什么 A 的行大小在 fmincon 中很重要
我有一个 Matlab 代码,它使用fmincon
一些约束。这样我就可以修改我考虑过的代码,条件矩阵 A 中的行位置是否有所不同
我设置了一个测试文件,这样我就可以更改一些变量。事实证明,条件的位置与结果无关,但 A 和 b 中的行数起了作用。我对此感到惊讶,因为我希望 A 和 b 中只有零的行会被抵消。
有人可以向我解释为什么 fmincon 会受到行号的影响吗?A 和 b 中的“正确”行号是多少?变量的数量还是条件的数量?
编辑 出于完整性的原因:
我同意由于迭代过程,不同的值是可能的。不过,我可以找到差异大于公差的情况:
添加+log(x(2)
到函数中:
Matlab 支持告诉我,A 矩阵的行数不应多于条件。每个条件都使算法变得更加困难。
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
不断返回初始猜测值作为最小值。所以有问题,我不知道如何解决。如果您能帮助我,我们将不胜感激。感谢您阅读本文。
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)
但输出中没有雅各宾派
请有任何想法