Problemino di trigonometria

Collapse
X
 
  • Ora
  • Show
Clear All
new posts
  • maxmax68
    Senior Member

    • Sep 2013
    • 186

    #1

    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
  • Smash
    Senior Member

    • Feb 2012
    • 351

    #2
    Originariamente Scritto da maxmax68
    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
    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ì:

    Codice:
    # Pendenza
    SET S = LinearRegressionSlope(CLOSE,7)
    
    # Angolo in radianti
    SET AngRad = ARCTAN(S)
    
    # Angolo in gradi
    SET AngGrad = AngRad  * 180 /  PI

    Comment

    • Marco Bosco
      Senior Member

      • Sep 2012
      • 419

      #3
      Originariamente Scritto da maxmax68
      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

      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 Bosco
      I 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)

      Comment

      • maxmax68
        Senior Member

        • Sep 2013
        • 186

        #4
        Smash e Marco,
        grazie per la pronta risposta.
        Domani farò qualche prova.
        Saluti
        Massimo

        Comment

        • Francario Massimiliano
          Administrator
          • Jul 2008
          • 1033

          #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
          Manuale di beeTrader
          Manuale di Fiuto Beta

          Comment

          Working...