Non tutte le funzioni sono uguali

Posted on 19 aprile 2023. Filed under: Senza categoria |

Continuando i miei esperimenti di matematica e astronomia, ho scoperto una cosa che magari sapete già ma me ne sono accorto solo ora.

Ho un file Excel scaricato da Internet per il calcolo di Ascensione Retta e declinazione per le varie stelle, pianeti e lune.

Il codice è scritto in VBA.

Lo traduco in codice VB.NET, e procedo pensando che il funzionamento delle funzioni, quindi gli argomenti fossero simili.

Se per esempio, le funzioni trigonometriche SIN, COS, TAN etc etc hanno il medesimo funzionamento, non si può dire la stessa cosa per la funzione ARCTAN.2, che in VB.NET si chiama ATAN2.

Vediamo un esempio:

Nel file Excel ci metto:

In A1 ci metto X e in A2 ci metto il valore di Y.

In A3 la seguente formula:

=ARCTAN.2(A1;A2)

Come risultato mi dà 0,950546841

Apro Visual Studio, creo un nuovo progetto in VB.NET e ci metto il seguente codice:

Dim A = 0.5

Dim B = 0.7

MsgBox(Math.Atan2(A,B))

Risultato: 0,620249485

Il modo corretto per ottenere l’angolo è: Math.Atan2(B,A)

Oppure

Math.Atan(B/A)

In effetti guardando i siti di riferimento:

https://support.microsoft.com/it-it/office/funzione-arctan-2-c04592ab-b9e3-4908-b428-c96b3a565033

e

https://learn.microsoft.com/en-us/dotnet/api/system.math.atan2?view=net-8.0

Notiamo che X e Y sono invertiti.

Pubblicità

Make a Comment

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo di WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione /  Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione /  Modifica )

Connessione a %s...

Liked it here?
Why not try sites on the blogroll...

%d blogger hanno fatto clic su Mi Piace per questo: