开发者

Mathematica, leftover zeros

I'm struggling how to get rid of expressions that are trivially zero in Mathematica from the output. Example:

    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 

the 0*(1-p1) is obviously zero, but I couldnt find a way to get rid of it ? (I'm relatively new to Mathematica...) Simplify didnt work, N[ ] didnt work FullSimplyfy[ ] as well.

Any advice ? Because in a big expression using this interpolation, these zero-express开发者_如何学Pythonions accumulate... and i have 10 line answer instead of a constant.


I think the function you require is Chop.

From the Help: "Chop[expr] replaces approximate real numbers in expr that are close to zero by the exact integer 0"

For example:

Chop@qq[0.5]
Chop[0.` (1 - p1) + p1]

both give as output:

p1

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜