Discussione: Problemino di trigonometria
-
09-11-13, 19:55 #1
- Data Registrazione
- Sep 2013
- Località
- Monza
- Messaggi
- 186
Problemino di trigonometria
Salve a tutti,
purtroppo la mia trigonometria è ormai arrugginita da anni.
Potreste aiutarmi con questo problemino di trigonometria ?
-
E' data la retta di regressione lineare a n periodi la cui pendenza è slope,
che io posso ricavare tramite la funzione di EasyScript:
SET S = LinearRegressionSlope (CLOSE, n)
Vorrei trasformare S in un angolo in gradi.
E' possibile ?
Se si, come ???
Un grazie anticipato per l'aiuto.
Saluti
Massimo
-
09-11-13, 21:54 #2
- Data Registrazione
- Feb 2012
- Località
- Pisa
- Messaggi
- 351
Ciao Massimo,
il coefficiente angolare è uguale alla tangente dell'angolo formato dalla retta con l'asse delle ascisse.
Per ricavare l'angolo devi usare la funzione inversa: arcotangente della pendenza.
Se non sbaglio, dovrebbe andare così:
# Pendenza SET S = LinearRegressionSlope(CLOSE,7) # Angolo in radianti SET AngRad = ARCTAN(S) # Angolo in gradi SET AngGrad = AngRad * 180 / PI
-
09-11-13, 22:08 #3
buonasera maxmax68,
nel tu caso S rappresenta già la pendenza (Tangente dell'angolo che chiamiamo Alfa)
quindi Alfa = Arcotangente (Tangente(Alfa))
per passare ai gradi :
Alfa = Arcotangente (Tangente(Alfa)) * ( 180 / Pi )
ne tuo caso la tangente di Alfa è S quindi :
Alfa = Arcotangente (S) * ( 180 / Pi )
.................................................. .........
Nota
In generale..
ipotizziamo che S sia invece una retta non verticale che non cambia nel tempo, cioè la cui inclinazione non cambia nel tempo.
Se l'angolo che vuoi misurare è quello generato dall'intersezione di S e dell'asse orizzontale (asse del tempo)
Allora puoi pensare che questa retta rappresenti l'ipotenusa di un triangolo e l'asse del tempo uno dei cateti.
Sapendo che Tangente(Alfa) = Sen(Alfa) / Cos(A)
Alfa si ricava come : Alfa = Arcotangente ( tangente( Alfa))
Quindi se trovi qualcosa che ti permetta di calcolare Sen(Alfa) / Cos(Alfa) sei a posto.
Visto che la tangente per una retta S non cambia mai puoi usare qualsiasi intervallo di calcolo.
Per semplicità prendiamo quindi un delta sul tempo di una sola barra,si associa al Sen(Alfa) il delta della funzione S
quindi x esempio Tangente(Alfa) = Sen(Alfa) / Cos(Alfa) = ( S(n) - S(n-1) ) / 1
Quindi il tuo angolo in radianti è : ATAN ( ( S(n) - S(n-1) ) / 1 )
Per passare ad Alfa in gradi passi per il PiGreco (Pi) quindi in fine :
Alfa = ( ATAN ( ( S(n) - S(n-1) ) / 1 ) ) * ( 180 / Pi )
Siccome abbiamo usato un intervallo di una sola unità di tempo, puoi usare questa soluzione anche se la tua S non è una retta ma una curva qualsiasi. La tangente calcolata in quel modo rappresenterà la derivata prima della funzione (discreta) S, una costante in questo caso visto che S è una retta.
saluti,
Marco BoscoI computer sono incredibilmente veloci, accurati e stupidi. Gli uomini sono incredibilmente lenti, inaccurati e intelligenti. L’insieme dei due costituisce una forza incalcolabile. (Albert Einstein)
-
10-11-13, 00:11 #4
- Data Registrazione
- Sep 2013
- Località
- Monza
- Messaggi
- 186
Smash e Marco,
grazie per la pronta risposta.
Domani farò qualche prova.
Saluti
Massimo
-
11-11-13, 14:38 #5
Salve,
in EasyScript sono disponibili anche le funzioni di conversione:
RADTODEG(VECTOR)
Converte un angolo espresso in radianti in un angolo espresso in gradi
Il valore in ingresso alla funzione viene automaticamente limitato tra -PI e +PI (PI = Pi greco)
DEGTORAD(VECTOR)
Converte un angolo espresso in gradi in un angolo espresso in radianti
Il valore in ingresso alla funzione viene automaticamente limitato tra -180 e +180.
Le funzioni trigonometriche di EasyScript richiedono sempre di utilizzare angoli espressi in radianti.
Max Francario