问题标签 [numerical-methods]

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 投票
6 回答
3767 浏览

java - 限制此程序以确定不包含零的倒数整数之和

A表示其十进制表示不包含数字 0 的正整数集合。已知A中元素的倒数之和为 23.10345。

前任。1,2,3,4,5,6,7,8,9,11-19,21-29,31-39,41-49,51-59,61-69,71-79,81-89, 91-99,111-119, ...

然后取每个数字的倒数,并求和。

如何在数字上验证这一点?

编写一个计算机程序来验证这个数字。

这是我到目前为止所写的内容,我需要帮助来解决这个问题,因为这目前需要很长时间才能完成:

Java中的代码

0 投票
1 回答
2642 浏览

python - Scipy optimize.curve_fit 有时不会收敛

我正在尝试使用 numpy.optimize.curve_fit 来估计开/关序列的频率和相位。这是我正在使用的代码:

这行得通。但是在某些行上,即使它们看起来非常好,它也失败了。失败行示例:

错误是:

RuntimeError:未找到最佳参数:平方和的实际和预测相对减少最多为 0.000000,两次连续迭代之间的相对误差最多为 0.000000

这很少告诉我发生了什么。快速测试表明,改变 p0 中的参数将导致该行成功......而其他行失败。这是为什么?

0 投票
1 回答
1621 浏览

wolfram-mathematica - 这是数学中 NSolve 中的错误吗?

人们会期望并希望,如果您要求Mathematica找到多项式的根,它应该给出相同(近似)的答案,无论您是象征性地执行此操作,然后找到这些确切答案的数值近似值,还是您是否以数字方式执行此操作。这是一个示例,它(在Mathematica 7OS X 上运行)严重失败:

(注意:这实际上是一个 Laurent 多项式,如果你乘以一个很大的幂,q问题就消失了。)

这里的最后一行只是证明找到的解决方案非常不同;事实上,这是我们试图在我们正在研究的问题中计算的数量。

如果您仔细查看 和 的输出NSolve[poly == 0, q]N[Solve[poly == 0, q]您会发现 NSolve 只给出54根而不是预期的56. 这并不是说它只是错过了重复的根或任何东西;它缺少两个最大的量级根(大约+/- 1.59

这是 Mathematica 中的错误吗?有没有人解释为什么会这样?

0 投票
4 回答
704 浏览

math - 简单金融计算中的数值精度

我在大学做了一门课程,解释了(除其他外)如何命令您的数学执行以最大限度地提高精度并降低在有限精度环境中舍入错误的风险。

我们正在使用您通常的利息计算等来开发一个金融系统。有人可以分享/提醒我如何构建您的计算以最小化精度损失吗?

例如,我知道必须避免分裂。另外,除法时,如果可能,先除最大数。

0 投票
8 回答
3925 浏览

c# - 将大数据保存到文件的最快方法

我用 Java、C# 和 C++ 进行了一些数值计算。其中一些保存了大量数据(到文本文件)。最快的方法是什么?

C++

我认为这非常快(我是对的吗?:))

爪哇

C# 示例类似。

这就是困扰我的地方。我为每一行创建一个 String 对象(很多垃圾)。在这个例子中,它并不多,但有时我有 10 000 000 行。这引出了我的问题:

  1. c++示例可以更快吗?
  2. 我应该为 Java 使用 StringBuilder 还是由于行数的原因它也很糟糕
  3. 还有其他方法或库吗?
  4. C# 呢?

谢谢

0 投票
4 回答
10029 浏览

python - 在 Python 中使用 numpy/scipy 记录非常小的值

我有一个对应于概率分布的 Nx1 数组,即元素的总和为 1。这表示为常规的 numpy 数组。由于 N 可能相对较大,例如 10 或 20,因此许多单个元素非常接近 0。我发现当我使用 log(my_array) 时,我收到错误“FloatingPointError:log 中遇到无效值”。请注意,这是在故意在 numpy 中设置 seterr(invalid='raise') 之后。

我该如何处理这个数字问题?我想表示与概率分布相对应的向量及其取日志而不四舍五入为 0,因为那时我最终取 log(0),这会引发错误。

谢谢。

0 投票
2 回答
1093 浏览

computational-geometry - 由一组坐标定义的区域的数值积分?

假设你有一个由一堆坐标点定义的一般形状,这些坐标点形成一个看起来像圆形、椭圆形或一般闭合曲线的东西——你如何找到这些点所包围的区域?

0 投票
3 回答
1197 浏览

graphics - 查找任意闭合曲线的中心点和边界(随机游走)

假设你有一条通过一堆数据集坐标生成的任意闭合曲线(端点返回相对接近第一个点),你如何找到结果形状的中心点和边界?

0 投票
4 回答
13073 浏览

c# - 如何在 VS 2010 中使用 BigInteger

我一直在尝试使用 BigInteger 类型,这在 .NET Framework 4.0 中应该是新的。

我似乎无法访问它,并且在尝试通过 Using System.Numerics 引用它时出现错误。

知道我做错了什么吗?对不起,如果这是一个愚蠢的问题......

0 投票
2 回答
1618 浏览

c++ - Problems with Log function in Boost C++ libraries

I have this code in order to get a logarithm of a number given a generic base:

As you can see boot libs define only neperian log and there is also a tricky way to get that log because what that lib gives back to you is not log(x) but log(x+1). As you can see this problem is solved by giving as the argument arg - 1 and everything should work.

WELL It works, but only the neperian log is ok, I mean, If I run this code:

Everything is ok, but right when I perform a base change everything is not good, I get back wrong results... I don't know, maybe it's a math issue... I know that log(basea, x) = log(baseb, x)/log(baseb, basea)...

Where do I do wrong??

Well, may be it is a math issue concerning numerical stability and so on... to get a log in a different base, what's the best practice???????