问题标签 [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.
math - 计算机程序相对于数学公式的优势
我不确定这是否是问这个问题的正确地方,如果不是,如果你们告诉我,我会删除它,但我的问题与将数学技术转移到程序中有关。我的问题是:
如果我要使用程序通过以下方法求解二次方程ax^2+bx+c=0
:
与普通公式相比,使用计算机有什么优势?我知道它会减少所涉及的错误,但除此之外。
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;
c++ - 结构的内存分配(低性能)
我确实有一个与为多个结构分配内存的性能缓慢有关的问题。我有一个看起来像这样的结构:见下文
在我的代码开始时,我确实必须使用以下方法创建很多(100.000 – 1.000.000):
并在它之后启动元素。不幸的是,这很慢,因此你们中的任何人都有提高性能的想法吗?
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 会完全改变图形的形状?
你可以帮帮我吗?
先感谢您。
numerical-methods - 计算 ode 的两个数值解的积分
我想计算一个积分,它由两个函数确定: I(T) = ∫<sub>0 T i( f(t), g(t)) dt 其中f和g求解常微分方程,而i是已知。
显而易见的方法是推导出I的微分方程,然后将其与f和g一起求解(这可以完成,但在我的情况下在数值上很昂贵)。但是,在我的情况下,f求解具有初始条件f(0)和g的方程以及具有最终条件g(T)的方程。
目前我最好的猜测是使用标准 ODE 求解器在网格上求解f和g,然后使用标准方法进行数值积分,使用等距t坐标或某种正交规则(基本上是数值食谱中描述的任何内容) .
有没有人有更好的解决方案?也就是说,一种将特定类型的 ode 求解器及其精度考虑在内的方法。
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?
java - 如何使用java格式化来自excel的值
我有一个带有一些值的 excel 文件,例如:
以及下面的代码来读取和打印数据[稍后我会把它们放在 HashMap 中]
但上面的代码返回以下内容:
如果出现了状态码,.0
但我只想得到400
不带.0
这该怎么做。
我已经用于poi
excel操作。
最好的问候安托
numerical-methods - 为什么在 eigen 中使用 ILUT perconditioner 执行 BICGSTAB 线性求解器时会出现“估计错误”-1.#IND
我想问一个问题,当我使用 eigen(C++ 库,进行数值线性计算)来求解线性方程组时,我使用双共轭梯度 BICGSTAB 和 Incomplete LU preconditioner,但是,结果 bg.error()("estimated错误”)变为-1.#IND,1次迭代后,线性方程组的大小为20000,有人可以帮我解决这个问题吗?我也尝试了其他小尺寸,例如200,没关系。
matrix - C++ 的稀疏矩阵库
是否有任何稀疏矩阵库可以做到这些:
- 求解线性代数方程
- 支持矩阵-矩阵/数字乘法/加法/减法,矩阵转置,获取矩阵的行/列等操作
- 矩阵大小可以是 40k*40k 或更大,如 250k*250k
- 快速地
- 可以在 Windows 中使用
有人可以为我推荐一些图书馆吗?如果你推荐,请告诉我它的优点和缺点,以及你推荐它的原因。
顺便说一句,我在互联网上搜索了许多稀疏矩阵库并测试了其中一些。我发现它们每个只支持很少的操作(其中许多只能解决线性代数方程和做矩阵向量乘法)。最后我找到了一个名为 SparseLib++ 的。它也不支持很多操作。所以我添加了很多基本的矩阵操作。现在它起作用了。但是,我只是听说 SparseLib++ 太旧而且速度不快。但是我的项目是基于SparseLib++的,我在SparseLib++上花了很多功夫。所以我想知道是否尝试另一个稀疏矩阵库。