2011-02-24 134 views
3

我正在努力如何擺脫Mathematica中從輸出中微不足道的表達式。 例子:Mathematica,剩餘零

pVec = Table[{i, Exp[-i*0.03]}, {i, 0, 2.5, 1/2}]; 

    pVec[[2, 2]] = p1; 
    pVec[[3, 2]] = p2; 
    pVec[[4, 2]] = p3; 
    pVec[[5, 2]] = p4; 
    pVec[[6, 2]] = p5; 

    qq = Interpolation[pVec, InterpolationOrder -> 1]; 

>> qq[0.5] 
>> 0. (1 - p1) + p1 

0*(1-p1)顯然是零,但我不能找到一種方法來擺脫它? (我對Mathematica比較陌生......)簡化沒有工作,N[ ]也沒有工作FullSimplyfy[ ]

有什麼建議?因爲在使用這種插值的大表達式中,這些零表達式累積...並且我有10個線路答案而不是常量。

+1

@Vyautas我看到你已經有了很好的迴應。我會提到,作爲一種替代方案,您可以嘗試收集這些零並將它們發送到某個缺少它們的國家。成本幾乎無需發送 - 零點很輕(有人說它們是無質量的,但我不相信)。 – 2011-02-25 03:37:17

回答

4

我覺得你需要的功能是Chop

從幫助: 「Chop[expr]替換EXPR是通過精確的整數0接近於零的近似實數」

例如:

[email protected][0.5] 
Chop[0.` (1 - p1) + p1] 

既給作爲輸出:

p1

+0

謝謝!正是我需要的! – Vytautas 2011-02-24 17:00:42