回答
另一種可能性: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)
編輯:我得到一些奇怪的結果,在玩了一會兒之後,我想出了原因:指定的誤差不是容差(工程藍圖中的硬加性限制),而是標準偏差值 - 這就是爲什麼上述計算離子導致
ufloat(2.7, 0.07071) # not 0.1 as I expected!
這不是OP問我想,輸出應該是'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,你可以打印正如人們所用乳膠類似的數學表達式。對於+/-符號,你可以使用:
print(r"value $\pm$ error")
如果將R將字符串轉換爲原始格式和$ -signs都是圍繞這是一個數學等式字符串的一部分。除非用正確的代碼明確指出,否則本部分中的任何單詞都將採用不同的字體,並且它們之間不會有空格。這可以在matplotlib documentation的相關頁面上找到。
很抱歉,如果這是過於小衆,但我碰到這個問題stumbeled試圖找到如下回答。
而不是計算表達式像
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)
- 1. C++減少操作
- 2. 操作數的數據類型爲varchar是減法操作
- 3. 減法操作的順序?
- 4. 減少操作次數
- 5. Numpy blockwise減少操作
- 6. 減少操作上火花
- 7. 在Java中減少操作
- 8. 減少操作次數
- 9. 如何減少GC_CONCURRENT操作?
- 10. 遞增和遞減操作
- 11. 減少操作,但一個
- 12. 輸出操作數需要減少,但是減少未啓用Python
- 13. Python的操作
- 14. python datetime.time操作
- 15. Python swf操作
- 16. Python bitarray操作
- 17. Python樹操作
- 18. Python的操作
- 19. 獲取而減法操作怪異的結果在Python
- 20. C:使用無符號操作數的一元減操作符行爲
- 21. Python二進制文件操作加速
- 22. 不一致的Python加上操作者
- 23. python字典添加和修改操作
- 24. 動作數加減法,行爲怪異
- 25. 作爲二進制操作的加法
- 26. C++數組操作(python-like操作)
- 27. 將python操作轉換爲numpy
- 28. Python中del操作符的行爲
- 29. 的Python dictonary設置爲操作
- 30. 爲陣列操作改進python性能
嗯,什麼是加/減操作?記住:在數學中,一個函數將一個值(或一組值)從其定義映射到一個值... –
我想你可能需要sympy這個。 – tox123
@MarcusMüller他的意思是當你做平方根時,它同時具有負值和正值。 – tox123