问题标签 [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 投票
1 回答
5270 浏览

c - C 语言中的内维尔算法

我正在尝试实现Neville 的算法

我有 32 个点代表 sin(x) 函数:

我有一个用于评估多项式的​​输入向量:

这是我的内维尔街区:

问题是s[ii],我不确定这个计数是否正确。

0 投票
2 回答
876 浏览

math - 计算机程序相对于数学公式的优势

我不确定这是否是问这个问题的正确地方,如果不是,如果你们告诉我,我会删除它,但我的问题与将数学技术转移到程序中有关。我的问题是:

如果我要使用程序通过以下方法求解二次方程ax^2+bx+c=0

与普通公式相比,使用计算机有什么优势?我知道它会减少所涉及的错误,但除此之外。

0 投票
2 回答
10861 浏览

matlab - 为 DE 系统实施 Runge-Kutta

我正在尝试在 MATLAB中实现用于 DE 系统的 Runge-Kutta 方法。我没有得到正确的答案,我不确定代码或我用来运行它的命令是否有问题。

这是我的代码:

我正在尝试在这个问题上进行测试。这是我的命令和输出:

>> U1 = @(t, u) 3*u(1) + 2*u(2) - (2*t^2 + 1)*exp(2*t);

>> U2 = @(t, u) 4*u(1) + u(2) + (t^2 + 2*t - 4)*exp(2*t);

>> a = 0; b = 1; 阿尔法 = [1 1]; 米 = 2; h = 0.2; N = (b - a)/h;

>> RKSystems(a, b, m, N, alpha, {U1 U2});

t = 0.00;w(1) = 1.0000000000; w(2) = 1.0000000000;

t = 0.20;w(1) = 2.2930309680;w(2) = 1.6186020410;

t = 0.40;w(1) = 5.0379629523;w(2) = 3.7300162165;

t = 0.60;w(1) = 11.4076339762;w(2) = 9.7009491301;

t = 0.80;w(1) = 27.0898576892;w(2) = 25.6603894354;

t = 1.00;w(1) = 67.1832886708;w(2) = 67.6103125539;

0 投票
2 回答
420 浏览

c++ - 结构的内存分配(低性能)

我确实有一个与为多个结构分配内存的性能缓慢有关的问题。我有一个看起来像这样的结构:见下文

在我的代码开始时,我确实必须使用以下方法创建很多(100.000 – 1.000.000):

并在它之后启动元素。不幸的是,这很慢,因此你们中的任何人都有提高性能的想法吗?

0 投票
1 回答
1183 浏览

r - 递减指数的递推关系具有递增值

如果您不熟悉求解线性递推方程,那完全没有关系。无论如何,我们可以通过求解上述递推方程得到F[n]=3^(1-n)的结果,即F[n]=(10/3)F[n-1]-F[n-2 ],f 1 =1,f 2 =1/3。

为此,通过使用

我们可以期待“3^(1-n)”的图形,称为指数函数。

但是,输出与预期不同。与输出相比

在此处输入图像描述

如您所知,3^(1-x) 是单调递减函数。尽管有预期,但我们只得到了在后期计算中增加的图形。

发生了什么?按照常识,“F[n]>F[n+1]”的所有输出都应该是 TRUE。

如果我将分配给“n”的数字从 35 增加到 50,

图形的形状变得非常奇怪。

在此处输入图像描述

我猜原因是基于“双精度二进制浮点”(http://en.wikipedia.org/wiki/Double_precision)。在我看来,R 将小于 0.0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0001 * 2^(-52) (有 52 个零)的数字分配为更大的数字,与递归关系相反。

但是,我不知道我的假设是否正确。即使我的假设是正确的,为什么 R 将非常小的数字反向分配为更大的数字,仅在“递归关系”中而不是针对诸如 3^(n-1) 之类的一般函数?此外,在“n=50”的情况下,为什么 R 会完全改变图形的形状?

你可以帮帮我吗?

先感谢您。

0 投票
1 回答
61 浏览

numerical-methods - 计算 ode 的两个数值解的积分

我想计算一个积分,它由两个函数确定: I(T) = ∫<sub>0 T i( f(t), g(t)) dt 其中fg求解常微分方程,而i是已知。

显而易见的方法是推导出I的微分方程,然后将其与fg一起求解(这可以完成,但在我的情况下在数值上很昂贵)。但是,在我的情况下,f求解具有初始条件f(0)g的方程以及具有最终条件g(T)的方程。

目前我最好的猜测是使用标准 ODE 求解器在网格上求解fg,然后使用标准方法进行数值积分,使用等距t坐标或某种正交规则(基本上是数值食谱中描述的任何内容) .

有没有人有更好的解决方案?也就是说,一种将特定类型的 ode 求解器及其精度考虑在内的方法。

0 投票
2 回答
1682 浏览

fortran - Numerical Precision in Fortran 95:

I have the following Fortran code:

I compile with gfortran, and the output is:

Of course the second is correct, but should this be the case? It seems like Pi1 is being input to memory as a single precision number, and then put into a double precision memory slot. But this seems like an error to me. Am I correct?

0 投票
2 回答
2451 浏览

java - 如何使用java格式化来自excel的值

我有一个带有一些值的 excel 文件,例如:

以及下面的代码来读取和打印数据[稍后我会把它们放在 HashMap 中]

但上面的代码返回以下内容:

如果出现了状态码,.0但我只想得到400不带.0

这该怎么做。

我已经用于poiexcel操作。

最好的问候安托

0 投票
0 回答
253 浏览

numerical-methods - 为什么在 eigen 中使用 ILUT perconditioner 执行 BICGSTAB 线性求解器时会出现“估计错误”-1.#IND

我想问一个问题,当我使用 eigen(C++ 库,进行数值线性计算)来求解线性方程组时,我使用双共轭梯度 BICGSTAB 和 Incomplete LU preconditioner,但是,结果 bg.error()("estimated错误”)变为-1.#IND,1次迭代后,线性方程组的大小为20000,有人可以帮我解决这个问题吗?我也尝试了其他小尺寸,例如200,没关系。

0 投票
4 回答
13900 浏览

matrix - C++ 的稀疏矩阵库

是否有任何稀疏矩阵库可以做到这些:

  • 求解线性代数方程
  • 支持矩阵-矩阵/数字乘法/加法/减法,矩阵转置,获取矩阵的行/列等操作
  • 矩阵大小可以是 40k*40k 或更大,如 250k*250k
  • 快速地
  • 可以在 Windows 中使用

有人可以为我推荐一些图书馆吗?如果你推荐,请告诉我它的优点和缺点,以及你推荐它的原因。

顺便说一句,我在互联网上搜索了许多稀疏矩阵库并测试了其中一些。我发现它们每个只支持很少的操作(其中许多只能解决线性代数方程和做矩阵向量乘法)。最后我找到了一个名为 SparseLib++ 的。它也不支持很多操作。所以我添加了很多基本的矩阵操作。现在它起作用了。但是,我只是听说 SparseLib++ 太旧而且速度不快。但是我的项目是基于SparseLib++的,我在SparseLib++上花了很多功夫。所以我想知道是否尝试另一个稀疏矩阵库。