我有以下代码:
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 把它归结为有意义的东西,这样我就可以检查我的结果了。
最好的,本
我有以下代码:
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 把它归结为有意义的东西,这样我就可以检查我的结果了。
最好的,本
试试 'trigsimp' 函数或者 map(trigsimp, your_expression)。不确定它是否会有所帮助,但值得一试。也看看'demoivre'。
我不知道你的向量特征函数排序或“大而长的讨厌的方程”是什么样的,但我经常从 Maxima 得到复杂的特征值和特征向量,即使我知道它们应该是简单而真实的。
例如,
(%i1) A : matrix([1, 4, 1], [4, 1, 9], [1, 9, 1]);
(%i2) eigenvalues(A);
弄得一团糟。可以通过将rectform输出转换为笛卡尔形式来简化它,然后trigreduce减少结果的虚部。最后,您可以将结果转换为浮点数:
(%i3) rectform(%)$
(%i4) trigreduce(%)$
(%i5) float(%);