python 2または3でプラス/マイナス演算を行う方法を探しています。コマンドまたは演算子がわからず、これを行うコマンドまたは演算子が見つかりません。
何か不足していますか?
別の可能性: ncertainties は、エラー許容値を使用して計算を行うためのモジュールです。
(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)
編集:奇妙な結果が得られていましたが、これで少し遊んだ後、理由を見つけました:指定されたエラーは許容範囲ではありません(ハード加算エンジニアリングの青写真のように制限されます)が、標準偏差値-上記の計算の結果、
ufloat(2.7, 0.07071) # not 0.1 as I expected!
たまたまmatplotlibを使用している場合、Latexの場合と同様の数式を出力できます。 +/-記号には、次を使用します。
print( r"value $\pm$ error" )
Rは文字列を生の形式に変換し、$記号は数学的な方程式である文字列の部分にあります。この部分にある単語はすべて異なるフォントで表示され、正しいコードで明示的に示されていない限り、単語間に空白はありません。これは matplotlibドキュメント の関連ページにあります。
これがニッチすぎる場合は申し訳ありませんが、私はこの質問に出くわしてこの答えを見つけようとしました。
±記号を印刷する場合は、次を使用します。
print(u"\u00B1")
次のような式を計算する代わりに
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 を使用しない限り、そのための演算子はありません。あなただけがif
ステートメントで各乗数を見つけます。
SymPyにはそのようなオブジェクトはまだありません(見たように、1つを示唆する問題があります 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)
また、最初から2つの方程式を追跡することもできます。