给出一些MathML内容:
c a b
和
std::map cal; cal["a"] = 1.; cal["b"] = 2.; cal["c"] = 0; // does not matter what c is
我希望评估MathML并检索结果。 有没有办法做到这一点?
MathML具有语义和表示标记。 因此,无法进行用于评估的通用MathML解析器。
我不知道实际的实现,一些快速谷歌搜索没有找到任何合理的结果,但它基本上归结为写波兰表达式解释器(你给出的例子是波兰表示法)。 步骤:
最后,你将把你的结果放在堆栈上。
一种方法是找到一个可以导入mathml的计算机代数系统(CAS)。 不幸的是,虽然很多软件都输出了mathml,但几乎都没有读出它。 以下是一些cas系统的相关链接:
CasADi(不是严格的CAS,但可以评估表达式): https ://sourceforge.net/apps/trac/casadi/ticket/149
sympy: http : //code.google.com/p/sympy/issues/detail? id = 2971
matlab / mupad: http : //www.mathworks.nl/help/toolbox/mupad/generate/MathML.html
需要了解更多c/c++开发分享如何评估MathML表达式?,也可以关注C/ C++技术分享栏目—计算机技术网(www.ctvol.com)!
以上就是c/c++开发分享如何评估MathML表达式?相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注计算机技术网(www.ctvol.com)!)。
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/c-cdevelopment/979487.html