轻松找到3D功能的根

时间:2018-11-21 06:15:32

标签: python numpy scipy

我具有连续的3D功能。这是它的一部分,以dB刻度绘制:

enter image description here

如您所见,有一个中心峰,然后下降,然后再次增大。我需要找到距f(x,y)增加到阈值(例如-3 dB)以上的原点的最近点。因此,搜索将从起点开始,向下超过阈值,然后在达到上升侧的阈值时返回并停止。

我想我想使用3D寻根方法,可能是Newton方法的3D实现。但是,重要的是找到离中心最近的根。

是否有使用scipy进行此操作的有效方法?我正在查看scipy.optimize.newton,但它仅在一个维度上起作用。

1 个答案:

答案 0 :(得分:0)

docs中,您可以找到一个完整的章节,专门用于根查找,以及一个关于多维根查找的子章节。特别是所有这些都是多维的寻根方法:

import { Link } from 'react-router-dom';

const options = [
  { key: 'user', text: 'Account', icon: 'user', as: Link, to: '/my-account' },
  { key: 'settings', text: 'Settings', icon: 'settings' },
  { key: 'sign-out', text: 'Sign Out', icon: 'sign out' },
]

这些是可用于root的方法,例如:

root(fun, x0[, args, method, jac, tol, …])  Find a root of a vector function.
fsolve(func, x0[, args, fprime, …])     Find the roots of a function.
broyden1(F, xin[, iter, alpha, …])  Find a root of a function, using Broyden’s first Jacobian approximation.
broyden2(F, xin[, iter, alpha, …])  Find a root of a function, using Broyden’s second Jacobian approximation.