问题标签 [equation]

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 投票
24 回答
94076 浏览

algorithm - 具有优先级的方程(表达式)解析器?

我使用简单的堆栈算法开发了一个方程解析器,该算法将处理二进制(+、-、|、&、*、/ 等)运算符、一元(!)运算符和括号。

然而,使用这种方法,所有东西都具有相同的优先级——不管运算符如何,它都是从左到右评估的,尽管可以使用括号来强制执行优先级。

所以现在“1+11*5”返回 60,而不是人们可能期望的 56。

虽然这适用于当前项目,但我希望有一个通用例程,可用于以后的项目。

为清楚起见进行了编辑:

什么是优先解析方程的好算法?

我对一些易于实现和理解的东西感兴趣,我可以自己编写代码以避免可用代码出现许可问题。

语法:

我不明白语法问题 - 我是手写的。这很简单,我认为不需要 YACC 或 Bison。我只需要用诸如“2+3 * (42/13)”之类的等式计算字符串。

语言:

我在 C 中这样做,但我对算法感兴趣,而不是特定于语言的解决方案。C 足够低级,如果需要,它可以很容易地转换为另一种语言。

代码示例

我发布了上面提到的简单表达式解析器的测试代码。项目需求发生了变化,因此我不需要针对性能或空间优化代码,因为它没有被合并到项目中。它是原始的详细形式,应该很容易理解。如果我在运算符优先级方面对其进行进一步处理,我可能会选择宏 hack,因为它与程序的其余部分相匹配。但是,如果我在实际项目中使用它,我会选择更紧凑/更快的解析器。

相关问题

数学解析器的智能设计?

-亚当

0 投票
5 回答
52818 浏览

math - 计算一定时间后加速体的位置

如何在一定时间(例如 1 秒)后计算加速体(例如汽车)的位置?

对于一个不加速的运动体,它是线性关系,所以我假设对于一个加速体,它在某处包含一个正方形。

有任何想法吗?

0 投票
10 回答
11523 浏览

c++ - 线性数学方程的方程求解器

我需要在我的应用程序中求解一些数学方程。以下是此类等式的典型示例:

附加规则:

  • b % 10 = 0
  • b >= 0
  • b <= 100
  • 每个数字必须是整数
  • ...

我想获得 a、b、c、d 和 e 的可能解决方案集。

是否有任何库,无论是开源的还是商业的,我可以用来解决这样的方程?如果是,他们提供什么样的结果?

0 投票
5 回答
2003 浏览

python - 求解最小值的不等式

我正在研究一个归结为一组方程和不等式的编程问题:

我想解决 的值X将给出 的绝对最小值C,给定输入D和列表,A并且Ba[0 - n]和组成b[0 - n ]

我目前正在用 Python 解决这个问题,但一般来说问题是与语言无关的。

澄清更新:系数x[0 - n]仅限于非负整数集。

0 投票
1 回答
2055 浏览

perl - 如何将曲线拟合到直方图分布?

前几天有人通过电子邮件问我一个关于整数分区的问题(因为我发布了一个 Perl 模块,Integer::Partition,来生成它们),我无法回答。

背景:这里是7的所有整数分区(每行之和等于7)。

现在,如果我们查看每个分区的长度并计算每个长度有多少:

...我们看到一个分区的长度为 1 (7),一个分区的长度为 7 (1 1 1 1 1 1 1)。有 4 个长度为 3 的分区:(5 1 1)、(4 2 1)、(3 3 1)、(3 2 2)。

对于较大数量的 N,如果您绘制分区长度的分布图,则会出现一条不对称曲线,向原点倾斜。如果您好奇,请绘制以下 N=40 的分区长度计数。

1兆

如果您对生成这些分布计数感兴趣,这是我使用的代码:

(注意:在我的电脑上,生成 N=90 大约需要 10 分钟)。

所以我的问题是:什么方程可以用来匹配观察到的分布曲线?它是高斯分布(高斯分布可以是不对称的吗?)还是泊松分布,还是别的什么?

我如何解决它的N?如果我记得我高中的数学,我可以通过求解导数与 0 相交的时间来确定峰值。如何产生导数?我在网上搜索过,但我得到的只是深奥的数学论文。我只需要一些代码:)

0 投票
3 回答
1121 浏览

php - 带浮点的 PHP 精度 - 复杂方程 = 1

我有以下等式

1 - ((.5 * 0.83333333333333) ^ 2 + (.5 * 0.83333333333333) ^ 2 + (.5 * (1 - 0.83333333333333)) ^ 2 + (.5 * (1 - 0.83333333333333)) ^ 2)

在 Php5 中,这导致答案为 1 而不是 0.63(在两台机器上,OSx 和 Centos)。我应该专门使用 Php 的 bc 数学函数来做这样的方程吗?

0 投票
5 回答
1608 浏览

language-agnostic - 角动量传递方程

对于如何计算两个刚体之间的角动量传递,是否有人对可以相对容易地实现的方程有任何好的参考?

我一直在寻找这种东西一段时间,我还没有找到任何特别容易理解的问题解释。

确切地说,问题是这样产生的;两个刚体在一个无摩擦(好,几乎)的表面上运动;把它想象成空气曲棍球。两个刚体接触,然后移开。现在,不考虑角动量,方程相对简单;问题变成了,物体之间的角动量转移会发生什么?

例如,假设这两个物体没有任何角动量;他们没有旋转。当它们以斜角相互作用时(行进矢量与它们的质心线不对齐),显然它们的一定量的动量被转换为角动量(即它们每个都得到一定量的自旋),但是如何很多,这样的方程式是什么?

这可能可以通过使用多体刚性系统进行计算来解决,但我想要进行更优化的计算,所以我可以实时计算这些东西。是否有人对方程式有任何想法,或指向这些计算的开源实现以包含在项目中?准确地说,我需要这是一个相当优化的计算,因为需要在模拟的单个“滴答”中模拟交互的数量。

编辑:好的,看起来关于这个主题的准确信息并不多。而且我发现“程序员物理学”类型的书有点太……愚蠢到真正得到;我不想要算法的代码实现;我想弄清楚(或至少为我勾勒出)算法。只有这样,我才能根据我的需要适当地优化它。有人对此类主题有任何数学参考吗?

0 投票
3 回答
3804 浏览

.net - 从 Word 中提取方程式和图像

是否有从 MS Word 文档中提取方程式(可能还有图像)的编程方式?我已经用谷歌搜索了所有内容,但还没有找到任何我可以投入并从中工作的东西。如果可能的话,我希望能够使用 VB.NET 或 C# 来做到这一点,但我可以选择足够多的任何语言来破解 DLL。谢谢!

编辑:现在我正在考虑从 Word 2003 中提取方程式,但如果需要将其转换为 2007/Open XML,那很好。

0 投票
3 回答
2980 浏览

equation - 2 变量线性回归方程

我们正在使用一种没有线性回归函数的编程语言。我们已经实现了一个单变量线性方程:

y = Ax + B

并使用类似于此 Stack Overflow 答案的解决方案从数据中简单地计算了 A 和 B 系数。

我知道随着变量的添加,这个问题在几何上变得更加困难,但为了我们的目的,我们只需要再添加一个:

z = Ax + By + C

在给定 x、y 和 z 的数组的情况下,有没有人有封闭形式的方程或任何语言的代码可以求解 A、B 和 C?

0 投票
2 回答
106 浏览

math - 计算 CurrentGroup 的公式是什么

试图找出一个方程式来获取页面所在的当前组,如果它们被分组如下。

变量:

寻找:

如果有 1000 个项目并且您的组大小为 5,则有 200 个组(TotalItems / GroupSize)。这意味着 CurrentPage 22 必须位于第 5 组