简化Mathematica中的系列

adh*_*lon 3 wolfram-mathematica sum simplify

我在mathematica中有一些简化某些功能的问题.在我编写的程序中,我有一些用Sum函数计算的函数,许多术语最终都乘以零.我想要打印但简化的功能.我尝试使用FullSimplify,但它需要永远运行.然后我尝试使用Simplify,但它不起作用.这是我得到的一个函数的例子,

2. Sqrt[-(-1+x) x]+
0. Sin[2 ArcCos[-1+2 x]]+
0. Sin[3 ArcCos[-1+2 x]]+
0. Sin[4 ArcCos[-1+2 x]]+
0. Sin[5 ArcCos[-1+2 x]]+
0. Sin[6 ArcCos[-1+2 x]]+
0. Sin[7 ArcCos[-1+2 x]]+
0. Sin[8 ArcCos[-1+2 x]]+
0. Sin[9 ArcCos[-1+2 x]]+
0. Sin[10 ArcCos[-1+2 x]]+
0. Sin[11 ArcCos[-1+2 x]]+
0. Sin[12 ArcCos[-1+2 x]]+
0. Sin[13 ArcCos[-1+2 x]]+
0. Sin[14 ArcCos[-1+2 x]]+
0. Sin[15 ArcCos[-1+2 x]]+
0. Sin[16 ArcCos[-1+2 x]]+
0. Sin[17 ArcCos[-1+2 x]]+
0. Sin[18 ArcCos[-1+2 x]]+
0. Sin[19 ArcCos[-1+2 x]]+
0. Sin[20 ArcCos[-1+2 x]]+
0. Sin[21 ArcCos[-1+2 x]]+
0. Sin[22 ArcCos[-1+2 x]]+
0. Sin[23 ArcCos[-1+2 x]]+
0. Sin[24 ArcCos[-1+2 x]]+
0. Sin[25 ArcCos[-1+2 x]]+
0. Sin[26 ArcCos[-1+2 x]]
Run Code Online (Sandbox Code Playgroud)

那么,为什么这不会简化为

2. Sqrt[-(-1+x) x]
Run Code Online (Sandbox Code Playgroud)

我也有一个跟进的问题并不那么重要.但是,让我们说这些术语中有四个具有非零系数,是否可以将它们组合成一个术语,这个术语是原始数值的近似值?

感谢任何回复的人!

abc*_*bcd 11

跟机器精度问好.

(* exact *)
0 Sin[x]
Out[1]= 0

(* machine precision *)
0. Sin[x]
Out[2]= 0. Sin[x]
Run Code Online (Sandbox Code Playgroud)

使用Chop精确设置数字荒谬接近于零,为0.

expr = 2. Sqrt[-(-1 + x) x] + 0. Sin[2 ArcCos[-1 + 2 x]] + 
   0. Sin[3 ArcCos[-1 + 2 x]] + 0. Sin[4 ArcCos[-1 + 2 x]] + 
   0. Sin[5 ArcCos[-1 + 2 x]] + 0. Sin[6 ArcCos[-1 + 2 x]] + 
   0. Sin[7 ArcCos[-1 + 2 x]] + 0. Sin[8 ArcCos[-1 + 2 x]] + 
   0. Sin[9 ArcCos[-1 + 2 x]] + 0. Sin[10 ArcCos[-1 + 2 x]] + 
   0. Sin[11 ArcCos[-1 + 2 x]] + 0. Sin[12 ArcCos[-1 + 2 x]] + 
   0. Sin[13 ArcCos[-1 + 2 x]] + 0. Sin[14 ArcCos[-1 + 2 x]] + 
   0. Sin[15 ArcCos[-1 + 2 x]] + 0. Sin[16 ArcCos[-1 + 2 x]] + 
   0. Sin[17 ArcCos[-1 + 2 x]];

Chop[expr]
Out[4]= 2. Sqrt[(1 - x) x]
Run Code Online (Sandbox Code Playgroud)


Sjo*_*ies 6

在那些"0"后面 术语隐藏了一些非常小的(但非零)数字.你可以使用它们来削减它们Chop.