Mathematica, остатки нулей - PullRequest
       5

Mathematica, остатки нулей

3 голосов
/ 24 февраля 2011

Я изо всех сил пытаюсь избавиться от выражений, которые тривиально равны нулю в 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 Ответ

4 голосов
/ 24 февраля 2011

Я думаю, что вам нужна функция Chop.

Из справки: "Chop[expr] заменяет приблизительные действительные числа в выражении, близкие к нулю, на точное целое число 0"

Например:

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

оба дают в качестве вывода:

p1

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...