如何设置0,在替换后高于0



我有一些带有符号等的冗长表达式。在使用.subs({…}(并替换所有变量的同时对它们进行求值后,我得到了值10^{-18}等,我知道它们应该等于零。

你有没有办法在不检查每个变量并手动执行的情况下将它们设置为零?

您可以使用evalf(也称为n(的chop选项:

>>> ((pi + pi*I)**2).n()
-0.e-21 + 19.7392088021787*I
>>> ((pi + pi*I)**2).n(chop=True)
19.7392088021787*I

你也可以设置切碎的级别:

>>> ((pi + pi*I)**2).n(chop=1e-23)
-0.e-21 + 19.7392088021787*I
>>> ((pi + pi*I)**2).n(chop=1e-20)
19.7392088021787*I

最新更新