问题标签 [equation-solving]

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

equations - 有没有使用微分算子求解微分方程的好库?

使用微分运算符求解微分方程(不仅是一阶)的好库?最好用 C/C++/PHP/C#/Actionscript/Javascript 编写

0 投票
1 回答
1302 浏览

math - 求解包含 digamma 函数的方程组的最有效方法是什么?

求解涉及 digamma 函数的方程组的最有效方法是什么?

我有一个向量 v,我想求解一个向量 w,这样对于所有 i:

digamma(sum(w)) - digamma(w_i) = v_i

w_i > 0

我找到了 gsl 函数 gsl_sf_psi,它是 digamma 函数(使用某种级数计算)。有没有可以用来简化方程的恒等式?我最好的选择是使用求解器吗?我正在使用 C++0x;哪个求解器最容易使用和快速?


根据我的初步研究,digamma 不容易可逆(搜索逆 digamma 会给出通过二分搜索工作的算法),因此整个系统不会简化是有道理的。

因此,现在使用求解器会留下两个问题:处理 digamma 计算非常慢的事实,以及处理 w_i > 0 的限制,否则 digamma(w_i) 将在 w_i = 0 时崩溃。

对于第一个问题,我想也许我应该为最近计算的 digamma 值实现一个缓存——我认为这是一个好主意,但不太了解寻根算法的工作原理。

我的想法是解决第二个问题是找到 w'_i = log(w_i)。这样,w'_i 就在整条线上。我想知道这是否是个好主意。可能没有直接找到 digamma(exp(w')) 的功能?此外,该算法可能会在 w' 空间中采取步骤并且不会改进事物,因为从 w'->w 的映射会丢失一些精度,因此 w' 的两个元素可能会映射到同一个 w。

仍然存在找到一个好的、快速的寻根算法的问题。我想我可以在一个单独的问题中问这个问题。

谢谢...

0 投票
1 回答
3859 浏览

matlab - 如何在 MATLAB 中数值求解包含贝塞尔函数的方程?

我遇到了一个方程,其中一侧包含第一类贝塞尔函数,另一侧包含修改后的第二类贝塞尔函数。我想知道它的确切解(u 的值)。方程如下:

其中 s 是任意整数,例如 2。

w 可以写成 u 的函数:

所以这个方程只有一个变量:u

我是 MATLAB 新手。我不知道我应该如何处理这个问题。有人可以帮我吗?

0 投票
6 回答
304 浏览

math - 求解方程的更简单方法

我有以下等式:

我需要创建一个查找lam指定的函数N

现在我正在使用简单的循环:

如何在不使用循环的情况下更准确地解决它?

0 投票
8 回答
13357 浏览

c++ - 有什么好的库可以在 C++ 中求解非线性方程组?

在我正在编码的 C++ 应用程序中,我需要求解一个非线性方程组(N 个方程,N 个未知数)。

我要解决的系统将相当小(最多 10 个方程/未知数),因此性能不会成为真正的问题。我在网上搜索了一下非线性求解器库,但我找不到看起来很容易使用的东西(使用NOXC/C++ Minpack,但对于我的需要来说,这两者似乎都过大了) .

为此目的,有任何易于使用的库的想法和想法吗?

0 投票
1 回答
2142 浏览

math - matlab如何求解求和函数

我必须在matlab中解决以下公式:

公式1

公式2

公式3

我正在寻找 beta 值,给定的是一个充满小波系数 x =(x_1,..,x_L) 的向量!如何在matlab中解决这个功能?我可以使用 fzero 吗?

编辑:目前我尝试了这个:

但仍然错误..

0 投票
3 回答
456 浏览

algorithm - 可视化水平面

我正在尝试使用这种方法开发水平表面可视化器(不知道这是标准方法还是有更好的方法):

    1. 取任何函数f(x,y,z)=k(其中 k 是常数),以及 x、y 和 z 的界限。还要接受两个网格参数 stepX 和 stepZ。
    2. 减少到水平曲线问题,从 zMin 迭代到 zMax 与 stepZ 间隔。所以f(x,y,z)=k => f(x,y,fixedZ)=k
    3. 用 stepX 做同样的过程,把问题减少到f(fixedX, y, fixedZ)=k
    4. 求解f(fixedX, y, fixedZ) - k = 0满足该方程的所有 y 值(使用某种求根算法)。
    5. 对于生成的所有点,将它们绘制为水平曲线(内部循环在给定 z 处生成水平曲线,然后对于不同的 z 值,只有水平曲线堆叠)
    6(可选)。从属于水平集的这些水平曲线/点生成网格。

我遇到的问题是第 4 步。我无法事先知道 y 有多少可能的值将满足该等式(更具体地说,y 有多少唯一和真实的值)。

此外,我试图使程序尽可能通用,因此我试图不将原始函数f(x,y,z)=k限制为任何约束,例如平滑度或除 k 以外的多项式必须按照水平表面的要求保持不变。

是否有一种算法(不使用 CAS/符号求解)可以识别函数的根,即使它有多个根?我知道二分法很难解决这个问题,因为该区域可能没有符号变化,但是割线/牛顿法的效果如何?割线/牛顿法可以用于哪组函数,它能否检测并找到两个给定范围内的所有唯一实根?还是有更好的方法来生成/可视化水平面?

0 投票
2 回答
665 浏览

matlab - 在 MATLAB 中对类似术语进行分组

我正在尝试编写一个程序来解决 MATLAB 中的方程组。我想知道是否有一种方法可以让 MATLAB 对类似项进行分组并将它们的系数放入矩阵中?我意识到我可以手动输入系数,但我希望重新利用这个小程序来执行节点分析。

0 投票
4 回答
1894 浏览

haskell - 实数中的 Haskell 方程求解

我刚开始玩 GHCi。我看到列表生成器基本上解决了给定集合内的方程:

(如预期的那样只找到一个根)

现在,既然解包含在指定范围内,为什么我不能求解结果为 ℝ 的方程

如何在实数集中求解此类方程?

编辑:对不起,我的意思是0.1,当然。

0 投票
1 回答
594 浏览

python - Python中的方程求解器

给定一个简单的等式,例如:

如果绑定其他两个变量(即:y = x - zz = x - y),则可以获得第三个变量。将其放入代码中的一种简单方法:

我显然可以取一个方程,解析它并简化它以达到相同的效果。但我相信这样做我会重新发明轮子。那么我的现成轮子呢?