#python-3.x #sympy #uncertainty
Вопрос:
Я пытаюсь дифференцировать уравнение для эффективности изменения воздуха и заменить значения объемного расхода целыми числами, используя sumpy. Это работает абсолютно нормально. Но на следующем шаге я хотел бы применить неопределенности к объемным потокам, которые я заменяю. Поэтому я использовал модуль неопределенности для достижения этой цели, но всякий раз, когда я использую «ufloat», переменные «sympy» не вычисляют конечное значение.
Ниже приведен упрощенный пример (без дифференциации) того, чего я хотел бы достичь. Есть ли какая-либо альтернатива, где я могу использовать математические операции наряду с неопределенностями. Или, по крайней мере, способен дифференцировать уравнение и применять неопределенности.
from sympy import *
from uncertainties import ufloat
x , y = symbols("x, y")
eqn = pow(x, 2) pow(y, 2)
a = eqn.subs({x:2, y:2})
b = eqn.subs({x:ufloat(2, 1), y:2})
print("without uncertainties: {}".format(a))
print("with uncertainties: {}".format(b))
Ответ №1:
У симпатии есть AccumBounds
то, что работает более или менее как интервал неопределенности:
In [8]: eqn.subs({x: AccumBounds(1.9, 2.1), y:2})
Out[8]: <7.61, 8.41>