Questions tagged «equation»

22
具有优先级的方程式(表达式)解析器?
我已经开发了一种使用简单堆栈算法的方程式解析器,该算法将处理二进制(+,-,|,&,*,/等)运算符,一元(!)运算符和括号。 但是,使用此方法会使我拥有所有具有相同优先级的内容-尽管可以使用括号强制执行优先级,但无论运算符如何,它都是从左到右求值的。 因此,现在“ 1 + 11 * 5”返回60,而不是人们期望的56。 尽管这适用于当前项目,但我希望有一个通用例程,可以用于以后的项目。 为清楚起见进行了编辑: 解析具有优先级的方程的最佳算法是什么? 我对一些易于实现的东西感兴趣,并且了解我可以自己编写代码,以避免可用代码出现许可问题。 语法: 我不懂语法问题-我是用手写的。非常简单,我认为不需要YACC或Bison。我只需要使用诸如“ 2 + 3 *(42/13)”之类的方程式来计算字符串。 语言: 我正在用C进行此操作,但是我对算法感兴趣,而不对特定于语言的解决方案感兴趣。C足够低,可以根据需要轻松转换为另一种语言。 代码示例 我在上面发布了简单表达式解析器的测试代码。项目需求发生了变化,因此我不需要针对性能或空间进行代码优化,因为它没有合并到项目中。它采用原始的冗长形式,应该易于理解。如果我在运算符优先级方面做进一步的事情,我可能会选择宏技巧,因为它可以简单地与程序的其余部分匹配。但是,如果我在实际项目中使用过它,那么我将寻求一个更紧凑/更快速的解析器。 相关问题 数学解析器的智能设计? -亚当

5
如何在对齐环境中标记每个方程?
我想知道如何在对齐环境中标记每个方程式?例如 \begin{align} \label{eq:lnnonspbb} \lambda_i + \mu_i = 0 \\ \mu_i \xi_i = 0 \\ \lambda_i [y_i( w^T x_i + b) - 1 + \xi_i] = 0 \end{align} 仅标记第一个方程式,以后只能引用第一个方程式。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.