【问题标题】:Evaluating Complex Numbers in Parsed Equations评估解析方程中的复数
【发布时间】:2016-04-07 09:25:32
【问题描述】:

我正在尝试编写一个程序,用于使用复步微分 complex step differentiation 在某一点上评估导数。

这涉及获取一些分析函数 F(x) 并在某个虚构点 F(x+ih) 处对其进行评估,其中 h 是某个实参数。 F'(x) 然后由 imag(F(x+ih))/h 给出。

我已经使用this swift 代码测试了这种方法来评估导数,它似乎比使用有限差分方法更快地收敛到一个解决方案,也更稳定。

然而,我很难弄清楚如何为可以解析的用户输入函数实现这一点。

我尝试过使用 DDMathParser,但它不支持复数。我想知道使用 NSExpression 是否可以做到这一点,但是我不明白它是如何工作的,也不知道是否有任何方法可以用它来评估复数。

如果你们知道如何处理这个问题,我将不胜感激!

【问题讨论】:

    标签: swift parsing complex-numbers


    【解决方案1】:

    DDMathParser 作者在这里。

    您可以see on Github,我已经考虑添加对复数的支持。我认为解析器可以很容易地处理它们。问题是评估引擎需要完全重新完成。现在所有的评估都是使用Doubles 完成的,让它们都支持复数将是一个不小的改变。

    NSExpression 也不支持复数。

    我认为此时您可能需要寻找其他地方来满足您的解析和评估需求。

    【讨论】:

      猜你喜欢
      • 2010-10-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多