Sto cercando un modo per eseguire un'operazione più/meno in python 2 o 3. Non conosco il comando o l'operatore, e non riesco a trovare un comando o operatore per farlo.più/meno operatore per python ±
Mi manca qualcosa?
Sto cercando un modo per eseguire un'operazione più/meno in python 2 o 3. Non conosco il comando o l'operatore, e non riesco a trovare un comando o operatore per farlo.più/meno operatore per python ±
Mi manca qualcosa?
Altra possibilità: uncertainties è un modulo per fare calcoli con tolleranze di errore, cioè
(2.1 +/- 0.05) + (0.6 +/- 0.05) # => (2.7 +/- 0.1)
che sarebbe scritto come
from uncertainties import ufloat
ufloat(2.1, 0.05) + ufloat(0.6, 0.05)
Edit: stavo ottenendo alcuni risultati strani, e dopo aver giocato un po 'di più ho capito perché: l'errore specificato non è una tolleranza (limiti hard additive come nei blueprint tecnici) ma un valore di deviazione standard - che è il motivo per cui il calcolo sopra ione si traduce in
ufloat(2.7, 0.07071) # not 0.1 as I expected!
Questo non è OP chiedendo che penso, l'output dovrebbe essere '2.1+ 0.05 = 2.15/2.1-0.5 = 2.05 e 0.55/0.65' come ottieni questo risultato? –
Penso che lo desideri per un'equazione come questa;
Beh c'è nessun operatore per questo a meno che non si utilizza SymPy, solo tu puoi fare è fare una dichiarazione if
e trovare ogni moltiplicatore.
Non esiste oggetto in SymPy ancora (come avete visto, v'è un problema che suggerisce uno https://github.com/sympy/sympy/issues/5305). Non è difficile da emulare, però. Basta creare un simbolo e scambiarlo con +1 e -1 separatamente alla fine. Mi piace
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)
Si potrebbe anche solo tenere traccia di due equazioni dall'inizio.
Se si utilizza Matplotlib, è possibile stampare espressioni matematiche simili a quelle ottenute con Latex. Per il +/- simbolo, si usa:
print(r"value $\pm$ error")
Qualora la r converte la stringa in un formato RAW e il $ -signs sono intorno alla parte della stringa che è un'equazione matematica. Qualsiasi parola presente in questa parte avrà un carattere diverso e non avrà spazi bianchi tra di loro a meno che non venga esplicitamente indicato con il codice corretto. Questo può essere trovato sulla pagina relavent dello matplotlib documentation.
Scusate se questo è troppo di nicchia, ma ho trovato una risposta a questa domanda cercando di trovare la risposta seguente.
Invece di espressioni di calcolo come
s1 = sqrt((125.0 + 10.0*sqrt(19))/366.0)
s2 = sqrt((125.0 - 10.0*sqrt(19))/366.0)
si potrebbe usare
pm = numpy.array([+1, -1])
s1, s2 = sqrt((125.0 + pm * 10.0*sqrt(19))/366.0)
um, che cosa è un plus/minus operazione? Ricorda: in matematica, una funzione associa un valore (o un insieme di valori) dalla sua definizione a esattamente un valore ... –
Penso che potresti volere sympy per questo. – tox123
@ MarcusMüller indica come quando si esegue una radice quadrata, ha un valore negativo e positivo simultaneamente. – tox123