问题标签 [numerical-analysis]

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 回答
1850 浏览

python - python中的数值精度

我一直在用 python 做简单的数值实验,比如计算阶乘。例如,计算 32 的阶乘:

我的日常:

来自 scipy.misc:

我想指出我的例程计算阶乘的对数,它计算从 1 到 32 的对数之和(在这种情况下),然后我只取 exp 函数(我这样做是因为从Fortran 90)。

令人惊讶的是正确答案是

根据pari/gp。

如果有人能指出我可以在 Python 中寻找正确数字答案的参考资料,我会非常高兴。文档没问题,但前提是需要“短”数字。

0 投票
1 回答
1161 浏览

wolfram-mathematica - 当“方法”是默认牛顿时,Mathematica 的 FindRoot 的算法细节是什么?

在求解三变量非线性系统时,我尝试了不同的实现:

1)数学;(FindRoot,默认方法)

2)Matlab编程(利用中心有限差分逼近雅可比)

3)C++(通过使用中心有限差分来近似雅可比)

我发现 Mathematica 工作得最好(解决方案精度、准确性),即使工作精度只是“机器精度”而没有提供符号雅可比行列式。

但是,Mathematica 在这三者中运行速度最慢。

由于我的问题在“精度/准确性”和效率方面都非常苛刻,我如何在 Matlab 或 C++ 中复制默认的“牛顿”方法?

谢谢

0 投票
2 回答
191 浏览

c++ - 如果语句不评估 TRUE 什么时候应该

我有一个“x”值数组(PDE 求解器的网格),当我传递给基于这些 x 值填充另一个数组的函数时,涉及一个 x 值的特定表达式无法正确评估。x 值范围是 -1:1,增量为 0.0125,在 x = -0.5 和 x = 0.5 时,我需要以不同于其他值的方式处理这些情况。但是,对于点 x = 0.5,下面的块无法评估为 TRUE(x = -0.5 可以)。这是问题块的精简片段,详细信息如下:

这是 x = 0.5 的输出:

因此,看起来当 x = 0.5 时 if 语句中的表达式应该返回 TRUE,即使它当然不精确为 0.5,因为它在范围的“lims”内。有什么想法吗??

0 投票
1 回答
186 浏览

c - C中的newton-raph func指针

我正在尝试使用单个函数指针来实现 Newton-Raphson 方法。该函数必须同时包含方程及其导数。我很难在测试函数中通过这两个单独的函数。

谢谢

0 投票
0 回答
120 浏览

javascript - Javascript bigInt 的

我刚刚开始进行数值分析。

假设我在 Javascript 中执行一些几何运算,这需要我使用整数。

我可以使用的最大整数大小是多少?

我知道 JS 可以达到 32 位,但有一些库,例如:http : //www-cs-students.stanford.edu/~tjw/jsbn/ 我可以达到 64 位。

我相信这里的逻辑是将 64 分成 2 对 32 位。

是否可以遵循相同的逻辑并使一个人能够对 256 位数执行计算?是否存在任何图书馆?

0 投票
1 回答
173 浏览

c++ - 实现自定义非线性最小化,从符号数学到 C

为了解决计算机视觉问题,我必须最小化非线性能量函数,并在 C++ 中实现它。虽然我没有找到一个库来帮助我使用特定的功能,但我有它的数学。那么从符号数学到 C++ 代码的最佳方式是什么?

示例:给定函数 g(x):=x^2 和 f(x):=x+2,假设我有兴趣将 f(g(x)) 转换为 C 代码;明显的 C 代码是 y=x^2+2; 但是对于包括雅可比等复杂的数学,它并不那么容易,翻译成页面和操作页面。

我已经尝试过 Matlab 并将它的转换模块转换为 C 代码,但代码远未优化(例如:相同的操作重复多次而不是重用结果)。

0 投票
2 回答
110 浏览

algorithm - 什么是根,在二分等算法中找到根有什么用处?

我已经解决了一个使用 C++ 作为语言的二分算法,我认为主要目的是找到根。

我理解了整个算法,但我不明白 root 会做什么,或者如果我们找到 root 的目的是什么。

0 投票
1 回答
111 浏览

matlab - 找到 x^b+a = a 的最大 x

稳定性(数值分析)

尝试应用我在这个问题中看到的答案,a+x=aa+eps(a)/2. 假设我们有x^b+a=a,其中b是一个小整数,比如 3 和a=2000。然后a+(eps(a))^3ora+(eps(a)/2)^3将始终返回 number a。有人可以帮忙测量x吗?无论如何,即使与 eps 不同也可以。

ps1938+(eps(1938)/0.00000000469)^3是最后一个返回的数字ans = 1.9380e+0031938+(eps(1938)/0.0000000047)^3返回a=1938。这有什么关系吗?

0 投票
0 回答
139 浏览

scipy - 散度的插值

我在一个统一的、并置的 2D 网格上有一个规定的速度场。我需要计算与网格点或中点位置不重合的一些任意点处的速度场的散度。

可能是计算网格点上的散度,然后在未知点使用双三次插值进行插值。我不确定这是一个好主意,因为它可能会产生一些棋盘效果。

我想知道是否有更好的方法来做到这一点。

我正在使用 python/scipy。

0 投票
1 回答
310 浏览

matlab - MATLAB:使用最小二乘法通过第 2、第 3 和第 4 多项式估算明天的温度

以下是我在大学课程中必须完成的数值分析任务的练习 3。

根据您所在城市每小时温度的最后 23 个值找到明天温度的近似值(塞萨洛尼基的气象历史 {我的城市} 可以在这里找到:http: //freemeteo.com

您将使用最小二乘法用 2 次、3 次和 4 次多项式近似温度函数。之后,您将在您感兴趣的点找到函数的值。定性地比较您的近似值,并记下您进行近似的时间和日期。

可能是因为前两个任务没有休息而导致疲劳,或者是我缺乏数值分析经验,但我完全被难住了。我什至不知道从哪里开始。

我知道在没有表现出努力迹象的情况下寻求解决方案是令人作呕的,但我将不胜感激。线索,教程,我需要做的事情的大纲,一个接一个,任何事情。

我会非常感激你。

注意:我无法使用任何 MATLAB 内置近似函数。