swift - 计算解析方程中的复数

标签 swift parsing complex-numbers

我正在尝试编写一个程序,使用复杂的步骤微分来评估某个点的导数 complex step differentiation

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

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

但是,我很难弄清楚如何为用户输入的可解析函数实现此功能。

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

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

最佳答案

DDMathParser 作者在此。

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

NSExpression 也不支持复数。

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

关于swift - 计算解析方程中的复数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36394271/

相关文章:

ios - 具有多个参数的 Swift 2.2 选择器 - 实际上传入

swift - 使用 SWRevealViewController 时调用当前 UIViewController 的一个函数

Swift println 命令不在控制台中输出

python - 如何修改python复数

floating-point - 如何将复数的虚部设置为零?

Python:如何使用 xlwt 编写复数到 Excel?

ios - NSData 在 9.0 版中给我一个错误

python - 删除python中的空格

ruby-on-rails - 如何通过读取 CSV 文件来保存大量数据

.net - YAML 中的单个感叹号有什么作用?