2011-01-10 46 views
1

我已經在互聯網上做了一些搜索,試圖找到某種形式的示例代碼,可以讓我簡化三角方程。在今年的數學課程中,我需要簡化三角方程,並且我打算讓代碼適應我的TI-89 Titanium CAS,以用於替換tCollect和tExpand函數(似乎無法按照我喜歡的方式完成工作)。開源三角方程簡化器(最好是C語言)?

正如我真的不能找到我想知道是否有任何代碼這個問題的所有信息太多(最好是基於C),這將有助於我來簡化這些類型的方程。如果不是,那麼什麼樣的算法最適合自己編碼?

謝謝。

回答

0

Eigenmath是一個方便的小型計算機代數系統。

您可能會在Eigenmath's source code中發現相關的內容。

+0

對不起,這是不相關的,因爲程序中沒有幫助簡化sin(x)/ cos(x) - > tan(x)的函數。 – RodgerB 2011-01-10 06:32:53

1

一個非常強大的系統,似乎有你需要的功能是Maxima,一個開源的計算機代數系統。以下手冊頁介紹了trigexapand和trigreduce,這似乎大致是您要查找的內容。

http://maxima.sourceforge.net/docs/manual/en/maxima_15.html

這是用Lisp而不是C,但考慮到冒險:)

+0

http://maxima.cvs.sourceforge.net/viewvc/maxima/maxima/src/trgred.lisp?view=markup 我很高興,這是集中在一個地方,但... gahh口齒不清哈哈 – RodgerB 2011-01-10 07:01:49

0

的HP49/50系列計算器有各種三角函數操作功能可能做得更好比TI- 89。 HP計算器的CAS是開源的,但是用一種晦澀的語言編寫。你最好檢查一下這個人編寫的下一個CAS:Giac/Xcas,用C++編寫。