C+中的符号计算+; 我需要做C++的分析集成。例如,我应该像这样集成表达式:exp[I(x-y)],I是一个虚数 如何在C++中实现这一点?< /P>

C+中的符号计算+; 我需要做C++的分析集成。例如,我应该像这样集成表达式:exp[I(x-y)],I是一个虚数 如何在C++中实现这一点?< /P>,c++,symbolic-computation,C++,Symbolic Computation,我试过了,但它只能积分多项式。我也试过了。它可以集成诸如sine、cosine或exp(x)和ln(x)等功能,但功能不是很强大。例如,它不能积分x*ln(x),这可以通过使用Mathematica或通过部分积分轻松获得 有没有其他工具或库能像C++中的分析集成一样进行符号计算?< p>如果你需要做符号积分,那么你可能不会比在Mathematica或Mathematica中运行任何更快的东西——它们已经被写进(类似的)C++中。因此,除非你的方程有一个非常特殊的公式,你可以用Mathematic

我试过了,但它只能积分多项式。我也试过了。它可以集成诸如
sine
cosine
exp(x)
ln(x)
等功能,但功能不是很强大。例如,它不能积分
x*ln(x)
,这可以通过使用Mathematica或通过部分积分轻松获得


有没有其他工具或库能像C++中的分析集成一样进行符号计算?

< p>如果你需要做符号积分,那么你可能不会比在Mathematica或Mathematica中运行任何更快的东西——它们已经被写进(类似的)C++中。因此,除非你的方程有一个非常特殊的公式,你可以用Mathematica或Maxima所不能利用的方式来利用它,否则你可能会走运——至少你不会从现成的库中得到这种自定义操作


如果需要进行数值求解,您可以编写自己的代码来提高速度。(我知道我是为PDES生成数值解的)。

< P>其他C++库,我知道符号计算是

  • 符号引擎()
  • 食人鱼()
如果我没有弄错的话,SymEngine还不支持集成;然而,食人鱼确实如此。目前,食人鱼的功能有限,正在开发中,但您可以看到集成功能。注意,第二个链接使用Python包装器Piranha的语法。然而,Piranha“是一个计算机代数库,用于对稀疏多元多项式和其他密切相关的符号对象(如泊松级数)进行符号操作”,因此我认为它无法集成您可能感兴趣的特定函数


虽然不是C++,但您也可能对Python的Sypy感兴趣,它可以执行一些您可能感兴趣的更复杂的符号集成。Syry的集成文档是.< /P> < P>几天前,我正在寻找一个象SymPy那样的C++符号化数学库,因为它的速度比Python或大多数其他编程语言的速度快。p> 据我所知,这是一个很棒的库,具有非常现代的语法和Symphy的功能。该库还有一个可用于解决您的问题的积分函数


这对于解决3自由度铰接式机械手的IK(反向运动学)已经足够好了。

您已经尝试过了吗?使用Matlab是一种选择吗?Matlab的符号工具箱应该能够做这些事情。使用C Matlab引擎,你可以从C++代码调用它吗?我没有MATLAB的许可证,所以我不能使用它。最大值使用C++语法吗?我更喜欢C++中的一些图书馆。如果我想使用其他程序,如maxima或Matlab,我会使用Mathematica。实际上我已经用mathematica写了我的程序。席尔夫积分微分方程是一个简单的程序,但问题是Mathematica在计算所需时间方面效率不高。所以我决定用C++编写我的程序。尽管事实上没有什么像你所说的,作为一个本地C++库,你的问题,即使在原则上也有很多微妙之处。首先,您想集成什么?首先,您必须能够定义这样一个表达式,是运行时表达式(例如表达式树)还是编译时表达式(例如la Boost.Phoenix)?您想要一个(runbtime/compiletime)可调用函数得到什么样的结果?您的问题很有道理,问题是解决方案必须首先解决这个微妙的问题。@alfC是否有允许在运行时执行符号计算的库?我用Mathematica编写的代码在以下链接中:此代码是关于递归关系的。我给它第0项,它得到第一项,然后用第一项得到第二项,依此类推。前4个学期不需要花太多时间,但以后的学期需要花很多时间,事实上,我从未获得过那些更高的学期。这段代码是用来解一个积分微分方程的,所以我需要得到很多项。至少我认为50个术语是必要的。因此,因为在Mathematica中花费了很多时间,我决定用c++编写它。你能添加一张方程的图片吗?我不能打开Mathematica笔记本(这些天我没有Mathematica…)