Attualmente sto lavorando con numeri molto piccoli nel mio programma python, ad es.Gestione di numeri molto piccoli in python
x = 200 + 2e-26
Una soluzione è lavorare con valori logaritmici che aumenterebbero l'intervallo del mio valore float. Il problema è che devo fare un fft anche con questi valori, e quindi usare l'approccio logaritmico non è utilizzabile (e neanche usando il modulo Decimal
). C'è un altro modo per risolvere questo problema?
Modifica: Il mio problema con il modulo decimal
è: Come posso gestire i valori immaginari? Ho provato a = Decimal(1e-26)+Decimal(1e-26*1j)
e a = Decimal(1e-26)+Decimal(1e-26)*1j
, ed entrambi i modi non sono riusciti (errore su richiesta).
Cosa c'è di sbagliato nel modulo 'decimale'? –
Non posso usarlo per numeri complessi, ho provato con 'a = Decimal (1e-26) + Decimal (1e-26 * 1j)' e 'a = Decimal (1e-26) + Decimal (1e-26) * 1j'. C'è un altro modo? –
Il problema non è forse il fatto che si aggiungono numeri molto piccoli in cima a numeri più grandi e il numero ridotto si riduce semplicemente alla fine della precisione? Puoi normalizzare il grande numero di distanza? – dhke