Pagina 1 di 1

Aiuto interpretazione script JavaScript

MessaggioInviato: mer apr 25, 2012 2:20 pm
da BlackJack
Ciao a tutti, ho bisogno del vostro aiuto.
Alla seguente pagina: http://aero.stanford.edu/stdatm.html è possibile inserire un valore di altitudine e premere "Compute" per calcolare una serie di valori fisci...
Il valore che mi interessa è "Viscosity", nel sistema metrico. Se io imposto metrico, ed inserisco nel campo "Altitude" 2000 [m], la viscosità risulta essere di 0.00001725. Quello che mi serve capire è la formula per cui dalla quota riesce ad ottenere tale valore.
Ho provato a guarare un po' in giro nel codice, ma non ci ho capito molto (mai usato JS).

Grazie a tutti, ciao!

Re: Aiuto interpretazione script JavaScript

MessaggioInviato: mer apr 25, 2012 3:02 pm
da BlackJack
ne ho trovata un'altra che fa al mio caso.
Non serve quindi quel codice sorgente.

Grazie comunque, ciao.

Re: Aiuto interpretazione script JavaScript

MessaggioInviato: mer apr 25, 2012 3:19 pm
da Andy94
Se ti interessava in ogni caso:

Il valore "viscosità" viene calcolato da questa riga. Per l'esempio che segue, poniamo un'altitudine pari a 0 (da intendersi in piedi) (attento a questo!).
Codice: Seleziona tutto
viscVal = 0.0226968*Math.pow( tempVal, 1.5 ) / ((tempVal)+198.72) / 1000000.0;

Tempval è dato da:
Codice: Seleziona tutto
tempVal = TEMPSL * saTheta;

Mentre TEMPLSL è una costante (), saTheta varia a seconda dell'altitudine che inserisci (di default è 1.0). Quindi hai questi valori (indicando con h l'altezza).
Codice: Seleziona tutto
   if ( h<232940 ){
      saTheta = 1.434843 - h/337634;
   }
   if ( h<167323 ){
      saTheta = 0.939268;
   }
   if ( h<154199 ){
      saTheta = 0.482561 + h/337634;
   }
   if ( h<104987 ){
      saTheta = 0.682457 + h/945374;
   }
   if ( h<65617 ){
      saTheta = 0.751865;
   }
   if ( h<36089 ){
      saTheta = 1.0 - h/145442;
   }

Tradotto numericamente (devi prendere l'ultimo caso):
Codice: Seleziona tutto
tempVal = 518.67 * 1.0

Che come risultato dà: 518.67. Quindi, continuando (riprendiamo, ora che abbiamo tutti i valori, la formula iniziale):
Codice: Seleziona tutto
viscVal = 0.0226968*Math.pow( tempVal, 1.5 ) / ((tempVal)+198.72) / 1000000.0

Tradotta:
Codice: Seleziona tutto
viscVal = 0.226968 * 518.67^1.5 / (518.67+198.72) / 1000000.0

Che come risultato dà:
3.737197122e-7 espresso in libbra forza al secondo per piede quadro.
Per convertirlo in unità metrica decimale devi fare queste due divisioni:
Codice: Seleziona tutto
3.737197122e-7/0.22481/0.092903

Che fa:
1,789372019e-5
Che, elevato alla potenza indicata, fa:
0.00001789372019
Che è il risultato fornitoti anche dal sistema.

[ciao]

Re: Aiuto interpretazione script JavaScript

MessaggioInviato: mer apr 25, 2012 5:55 pm
da BlackJack
Grazie Andy, davvero molto dettagliato, come al solito del resto [:)]
Diciamo che analizzando il codice avevo capito qualche cosa, ma mi incasinavo sulle unità di misura della quota... E poi alla fine non riuscivo a trasformare il valore dalle unità di misura inglesi a quelle metriche.

Ora è tutto chiarissimo, grazie ancora!