[Python] calcolo scientifico

Daniele Zambelli daniele.zambelli a gmail.com
Mar 25 Feb 2020 11:41:50 CET


Il giorno ven 21 feb 2020 alle ore 18:42 Carpediem
<i.carpediem a tiscali.it> ha scritto:
>
> Un saluto a tutti.
>
> Avrei bisogno di un chiarimento: utilizzando la calcolatrice scientifica
> (quella di windows p. es.) se io ho un numero seno pari a 0.83 con il 3
> periodico e volessi sapere a quanti gradi decimali corrispnde l'angolo,
> mi basta selezionare la funzione sin elevata alla -1 e ottengo il valore
> di 62,714 .....

Mi avete mandato in modalità lezione rapida sugli angoli:

Gli Assiri hanno pensato comodo misurare gli angoli con un'unità di
misura che divide l'angolo giro in 360 parti (all'incirca l'arco
tracciato dalla terra attorno al sole in un giorno ma numero
decisamente più comodo rispetto a 365,25).
Questa unità di misura a sua volta è stata divisa in sessantesimi
ottenendo un primo sottomultiplo e ogni sessantesimo suddiviso in
ulteriori sessantesimi un secondo sottomultiplo ( come le ore divise
in sessanta minuti primi e i minuti primi in sessanta secondi). Un
angolo potrebbe misurare: 8°45'34".
Un angolo giro misura 360 gradi, un angolo piatto 180° e un angolo retto 90°
Questo modo di misurare gli angoli, detto sessagesimale (nelle
calcolatrici: Deg), ci è famigliare ed è comoda se ci fermiamo ai
gradi, risulta piuttosto scomoda quando dobbiamo usare i
sottomultipli.

Un altro modo di misurare gli angoli è quello centesimale (nelle
calcolatrici: Grad): un angolo giro misura 400 gradi, un angolo piatto
200 e un angolo retto 100°.

In ambito scientifico gli angoli si misurano in radianti (nelle
calcolatrici: Rad: un angolo giro è formato da un po' più di 6
radianti (precisamente 2*pigreco radianti) e un angolo piatto misura
pigreco radianti.

Per trasformare:
- da gradi a radianti: si divide per 180 e si moltiplica per pigreco;
- da radianti a gradi: si divide per pigreco e si moltiplica per 180;
- da gradi centesimali a gradi: si divide per 200 e si moltiplica per 180;
- ...

Python lavora in radianti. Quindi:

- se vuoi trovare il seno dell'angolo di 30° (che è uguale a 0.5) devi
trasformare i gradi in radianti e darli in pasto alla funzione
math.sin.

- se vuoi trovare l'angolo in gradi che ha per seno 0.5 devi calcolare
l'arcoseno di 0.5 e poi trasformarlo in gradi.

Ti conviene scrivere due funzioni:

def deg2rad(angoloingradi):
    """Restituisce l'angolo in radianti."""
    return ...

def rad2deg(angoloingradi):
    """Restituisce l'angolo in gradi."""
    return ...

E, una volta completate le due funzioni, puoi trovare:

>>> print(math.sin(deg2rad(30)))
0.5
>>> print(rad2deg(math.asin(0.5)))
30

Avviso: non ho provato il codice, per cui possono esserci degli errori.

Ciao, grazie dello spunto che mi hai dato e grazie per la pazienza a
chi è arrivato a leggere fin qui.

-- 

Daniele

www.fugamatematica.blogspot.com

    giusto!
    nel verso
    forse è perché non guardiamo le cose
    Quando non ci capiamo,


Maggiori informazioni sulla lista Python