我在互联网上进行了一些搜索,试图找到某种形式的示例代码,可以让我简化三角方程。在我今年的数学课程作业中,我需要简化三角方程,并且我打算修改代码以与我的 TI-89 Titanium CAS 一起使用,以替换 tCollect 和 tExpand 函数(这似乎不能把工作做得和我想的一样好)。
因为我真的找不到太多关于这件事的信息,所以我想知道是否有任何代码(最好是基于 C 的)可以帮助我简化这些方程。如果不是,哪种算法最适合自己编写代码?
谢谢。
我在互联网上进行了一些搜索,试图找到某种形式的示例代码,可以让我简化三角方程。在我今年的数学课程作业中,我需要简化三角方程,并且我打算修改代码以与我的 TI-89 Titanium CAS 一起使用,以替换 tCollect 和 tExpand 函数(这似乎不能把工作做得和我想的一样好)。
因为我真的找不到太多关于这件事的信息,所以我想知道是否有任何代码(最好是基于 C 的)可以帮助我简化这些方程。如果不是,哪种算法最适合自己编写代码?
谢谢。
一个似乎具有您需要的功能的非常强大的系统是 Maxima,一个开源计算机代数系统。以下联机帮助页描述了 trigexapand 和 trigreduce,这似乎大致就是您要查找的内容。
http://maxima.sourceforge.net/docs/manual/en/maxima_15.html
它在 Lisp 而不是 C 中,但认为这是一次冒险:)
Egenmath是一个方便的小型计算机代数系统。
您可能会在Eigenmath 的源代码中找到相关内容。
HP49/50 系列计算器具有多种三角操作功能,可能比 TI-89 做得更好。HP 计算器的 CAS 是开源的,但用一种晦涩的语言编写。你最好看看那个人写的下一个 CAS:Giac/Xcas,用 C++ 写的。