评估解析方程中的复数

时间:2016-04-04 03:48:11

标签: swift parsing complex-numbers

我正在尝试使用复杂的步骤差异complex step differentiation编写一个用于评估衍生物的程序。

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

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

然而,我很难弄清楚如何为可以解析的用户输入功能实现这个功能。

我已尝试使用DDMathParser,但它不支持复数。我想知道这是否有可能使用NSExpression然而我不明白它是如何工作的,我不知道是否有任何方法可以用它来评估复数。

如果你们知道如何处理这件事,我会很感激!

1 个答案:

答案 0 :(得分:0)

DDMathParser作者在这里。

尽可能see on Github,我考虑过添加对复杂数字的支持。我认为解析器可以很容易地处理它们。问题是评估引擎需要完全重新完成。现在所有的评估都是使用Doubles完成的,并且让它们都支持复数是一个非常重要的变化。

NSExpression也不支持复数。

我认为在这一点上你可能需要寻找其他地方来解析和评估你的需求。