3

数学のいくつかの関数を単純化するのにいくつかの問題があります。私が書いたプログラムでは、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]]

だから、なぜこれは単純化しないのですか?

2. Sqrt[-(-1+x) x]

また、それほど重要ではないフォローアップの質問があります。しかし、これらの項のうち4つがゼロ以外の係数を持っているとすると、元の項の数値近似である1つの項にそれらを組み合わせることができますか?

返信してくれた人に感謝します!

4

2 に答える 2

11

機械の精度に挨拶します。

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

(* machine precision *)
0. Sin[x]
Out[2]= 0. Sin[x]

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]
于 2011-06-29T21:29:52.543 に答える
6

それらの「0」の後ろ。いくつかの非常に小さな (しかしゼロではない) 数値が隠されています。を使用してそれらをスラッシュできますChop

于 2011-06-29T21:29:12.897 に答える