Я ищу способ выполнить операцию плюс/минус в python 2 или 3. Я не знаю команды или оператора, и я не могу найти команду или оператор для этого.Оператор плюс/минус для python ±
Я что-то упустил?
Я ищу способ выполнить операцию плюс/минус в python 2 или 3. Я не знаю команды или оператора, и я не могу найти команду или оператор для этого.Оператор плюс/минус для python ±
Я что-то упустил?
Другая возможность: uncertainties представляет собой модуль для выполнения расчетов с допусками ошибок, т.е.
(2.1 +/- 0.05) + (0.6 +/- 0.05) # => (2.7 +/- 0.1)
, которая будет записана в виде
from uncertainties import ufloat
ufloat(2.1, 0.05) + ufloat(0.6, 0.05)
Edit: я получаю странные результаты, и после немного большего количества игр с этим я понял, почему: указанная ошибка не является допуском (жесткие аддитивные пределы, как в технических чертежах), но значение стандартного отклонения - вот почему приведенный выше расчет ионов приводит к
ufloat(2.7, 0.07071) # not 0.1 as I expected!
Это не ОП, я думаю, выход должен быть «2.1+ 0,05 = 2,15/2,1-0,5 = 2,05 и 0,55/0,65', как вы получите эти результаты? –
Я думаю, вы хотите, чтобы для такого уравнения;
Ну нет оператора, что, если вы не используете SymPy, только вы можете сделать, это сделать if
заявления и найти каждый множитель.
Там нет такого объекта в SymPy еще (как вы видели, есть вопрос, предлагая один https://github.com/sympy/sympy/issues/5305). Это не сложно подражать. Просто создайте Символ и поменяйте его на +1 и -1 отдельно в конце. Как
pm = Symbol(u'±') # The u is not needed in Python 3. I used ± just for pretty printing purposes. It has no special meaning.
expr = 1 + pm*x # Or whatever
# Do some stuff
exprpos = expr.subs(pm, 1)
exprneg = expr.subs(pm, -1)
Вы также можете просто отслеживать два уравнения с самого начала.
Если вы используете matplotlib, вы можете печатать математические выражения, похожие на Latex. Для +/- символа, вы должны использовать:
print(r"value $\pm$ error")
Если г преобразует строку в исходный формат и $ -signs вокруг той части строки, которая является математическим уравнением. Любые слова, которые находятся в этой части, будут иметь другой шрифт и не будут иметь пробелов между ними, если явно не указано с правильным кодом. Это можно найти на соответствующей странице matplotlib documentation.
Извините, если это слишком ниша, но я наткнулся на этот вопрос, пытаясь найти следующий ответ.
Вместо вычисления выражения типа
s1 = sqrt((125.0 + 10.0*sqrt(19))/366.0)
s2 = sqrt((125.0 - 10.0*sqrt(19))/366.0)
вы могли бы использовать
pm = numpy.array([+1, -1])
s1, s2 = sqrt((125.0 + pm * 10.0*sqrt(19))/366.0)
гм, что такое плюс/минус операция? Помните: в математике функция отображает значение (или набор значений) из его определения в одно значение ... –
Я думаю, что для этого вам может понадобиться sympy. – tox123
@ MarcusMüller он имеет в виду, когда вы делаете квадратный корень, он имеет отрицательное и положительное значение одновременно. – tox123