问题标签 [newtons-method]

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 投票
2 回答
1210 浏览

c++ - 数值配方:如何在 C++ 中将函数作为函数 newt 的参数传递

我的问题与数字食谱有关。我有一个全局函数,它计算要最小化的函数向量

在类函数run中,我尝试调用 Numerical Recipes 函数 newt,它读取我的函数vecfunc,如图所示,

函数newt被声明为

为什么会出现以下编译器错误?

0 投票
1 回答
669 浏览

math - 多输入多输出函数的高斯牛顿最小化

给定矩阵形式的输入输出函数:

p1−p6参数。我想使用高斯牛顿法最小化最小二乘误差。假设我们有 100 个测量值。我的问题是关于残差向量的计算和大小。

r i = 输出 - f(输入,参数)

错误 = 总和 (r i 2 )

为了计算误差最小的参数,我们有:

p i+1 =p i + Δ

Δ= (J T *J) -1 * J T * r i

我认为每个的大小如下:

输入向量(x):100x2

输出向量(y):100x2

剩余(r):100x2

雅可比 (J) : 100x6

参数(pi):6x1(六个参数)

如您所见,Δ 的大小将是 6x2,这似乎与p_i+1 现在我的残差向量计算过程是否正确?如果是,我该如何计算参数的向量?如果不是,正确的答案是什么?

另一件事是关于参数矩阵的计算方式J(雅可比)。

太感谢了。

0 投票
1 回答
2163 浏览

java - 实现牛顿法求平方根的算法的复杂性

我编写了一个 Java 程序来使用牛顿法计算用户定义数字的平方根。算法的主要操作是这样的:

我现在正在寻找算法的复杂性(是的,这是家庭作业),并且从这里读到牛顿方法的时间复杂度是 O(log(n) * F(x))。

但是,从上面的代码片段中,我将时间复杂度解释为:

不知道我在这里做错了什么,但即使在阅读了维基的解释之后,我似乎也无法理解大操作系统的差异。

另外,我假设“算法的复杂性”是“时间复杂性”的同义词。这样做是否正确?

非常感谢帮助解释这个悖论,因为我是一个新手学生,有一些“触摸即走”编程模块的背景知识。

提前致谢 :)

0 投票
2 回答
9660 浏览

matlab - 二等分法(数值分析)

在找到每个根之前进行了多少次递归?另外,哪些是根?


这是我的代码:

0 投票
2 回答
1393 浏览

c++ - Newton Raphson 混合算法无法解决

问题的简要说明:我使用 Newton Raphson 算法在多项式中求根,但在某些情况下不起作用。为什么?

我从“c++ 中的数值配方”中提取了一个 Newton Raphson 混合算法,如果 New-Raph 没有正确收敛(导数值低或收敛速度不快),该算法会一分为二。

我用几个多项式检查了算法,它奏效了。现在我正在我拥有的软件内部进行测试,但我总是遇到特定多项式的错误。我的问题是,我不知道为什么这个多项式没有得到结果,而其他许多人却得到了结果。因为我想改进任何多项式的算法,所以需要知道哪一个是不收敛的原因,以便我可以正确对待它。

接下来,我将发布我可以提供的有关算法和出现错误的多项式的所有信息。

多项式:

它是一阶导数:

阴谋: 在此处输入图像描述

根(通过 Matlab):

算法:

使用以下变量调用该算法:

问题是该算法超过了最大迭代次数,并且 aproximatedly 的根存在错误0.15

所以我的直接和简化的问题是:为什么当许多(至少 1000 个)其他非常相似的多项式(精度为 1e-10 且迭代次数很少!)时,这个多项式没有达到准确的误差!

我知道这个问题很难,它可能没有一个真正直接的答案,但我被这个问题困扰了好几天,我不知道如何解决它。非常感谢您花时间阅读我的问题。

0 投票
1 回答
866 浏览

c++ - 牛顿方法返回 NaN

我写了牛顿方法的简单递归版本:

如果我调用我的函数,例如FindRoot(sin, 4)NaN返回。我通过在每一步之后打印的值来检查函数x0,一切似乎都在最后一次迭代中工作。出于某种原因,函数调用自身的次数超出了实际应该调用的次数,可能会0/0在计算 last 时创建类似的东西corr

0 投票
1 回答
315 浏览

matlab - 如何将估计序列添加到我的用于 matlab 的 Newton Raphson 代码?

我的代码有效,但我需要再添加 2 件事:

  • 输出 - 包含估计序列的向量,包括初始猜测 x0,
  • 输入-最大迭代

    /li>
0 投票
2 回答
1517 浏览

java - Java中的数值求解

我正在寻找在Java中为线性代数解决方案合并某种数值求解的实现,如下所示:

5x + 4 = 2x + 3

理想情况下,我希望尽可能少地解析,并避免使用传统的“人类”解决方案方法(即组合类似的术语等)。我一直在研究牛顿法并插入 x 的值来近似解决方案。

我很难让它工作。

有谁知道最好的通用方法,以及应该如何在代码中完成(最好是 Java)?

额外的

在 Netwon 方法中,您进行迭代直到近似值达到可接受的精度。公式如下所示:

x1 = x0 - (f(x0) / (f'(x0))

其中 x1 是迭代中 x 的下一个值,而 x0 是当前值(或者如果在第一次迭代时开始猜测)。

f素数是什么?假设 f(x0) 是您当前 x 估计的函数,那么 f'(x0) 代表什么表达式?

澄清

这仍然是一个如何编程这个数学评估的问题,而不仅仅是如何做数学。

0 投票
1 回答
1713 浏览

python - 在 pandas/python 中加速 newton-raphson

我目前正在迭代一个非常大的数据集~85GB(~600M 行),并简单地使用 newton-raphson 来计算一个新参数。截至目前,我的代码非常慢,关于如何加快速度的任何提示?BSCallClass 和 BSPutClass 中的方法是封闭形式的,因此没有什么可以真正加快速度。谢谢。

编辑:

对于那些好奇的人,我最终通过使用 scipy 建议以及使用多处理模块显着加快了整个过程。

0 投票
2 回答
3354 浏览

c++ - 带有 SSE2 的 Newton Raphson - 有人可以解释一下这 3 行吗

我正在阅读这份文件: http: //software.intel.com/en-us/articles/interactive-ray-tracing

我偶然发现了这三行代码:

SIMD 版本已经快了很多,但我们可以做得更好。英特尔在 SSE2 指令集中添加了快速 1/sqrt(x) 函数。唯一的缺点是它的精度是有限的。我们需要精度,因此我们使用 Newton-Rhapson 对其进行改进:

此代码假定存在一个名为“half”(四倍 0.5f)的 __m128 变量和一个变量“three”(四倍 3.0f)。

我知道如何使用 Newton Raphson 来计算函数的零,并且我知道如何使用它来计算数字的平方根,但我只是看不出这段代码是如何执行它的。

有人可以向我解释一下吗?