0

我有以下代码:

for n:1 thru 11 do for j:1 thru 21 do v[n,j]:1/sqrt(dp)* 
(sum(eigenfunctionsort[n,j]*exp(%i*2*%pi*m*x/dp),m,-10,10));

在前面定义特征函数排序的地方,x 是一个变量,我稍后将对其进行积分,并对 m 求和。

当我打印说 v[1,1] 时,我得到一个又长又讨厌的方程。我怎样才能让 Maxima 把它归结为有意义的东西,这样我就可以检查我的结果了。

最好的,本

4

2 回答 2

1

试试 'trigsimp' 函数或者 map(trigsimp, your_expression)。不确定它是否会有所帮助,但值得一试。也看看'demoivre'。

于 2013-05-03T03:39:14.400 回答
0

我不知道你的向量特征函数排序或“大而长的讨厌的方程”是什么样的,但我经常从 Maxima 得到复杂的特征值和特征向量,即使我知道它们应该是简单而真实的。

例如,

(%i1) A : matrix([1, 4, 1], [4, 1, 9], [1, 9, 1]);
(%i2) eigenvalues(A);

弄得一团糟。可以通过将rectform输出转换为笛卡尔形式来简化它,然后trigreduce减少结果的虚部。最后,您可以将结果转换为浮点数:

(%i3) rectform(%)$
(%i4) trigreduce(%)$
(%i5) float(%);
于 2014-12-24T14:39:48.527 回答