Calcolo pressione atmosferica

  • Creatore Discussione Creatore Discussione colomber
  • Data di inizio Data di inizio

colomber

Utente Attivo
4 Dic 2012
232
1
18
Qualcuno sa come si calcola la pressione atmosferica conoscendo l'altitudine di una località?
 
ciao
prova questa

PHP:
<?php
function pressione($h){
	//p = 101325 (1 - 2.25577 10-5 h)^5.25588  
	//conviene suddividere per comodità
	$p=1-2.25577/100000*$h;
	$p=pow($p,5.25588)*101325;
	return $p/1000;// pressione in kPa
}
//***test***
$altezza=2500; //metri
echo "pressione a $altezza m = ".pressione($altezza). "kPa";//eventualmente arrotondare
 
ciao
da che ne so quella formula dei calcolatori postati è una delle tante anche perche la pressione non è solo funzione dell'altezza s.l.m. ma enche della temperatura e umidità, quindi tutte le formule sono una approssimazione
la formula che ho usato è uguale a quella del primo link postato
p = 101325 (1 - 2.25577 10-5 h)^5.25588
e i risultati coincidono con la tabella.
comunque provo a fare il calcolo con qulle seguenti
edit
non posso non danno le costanti che hanno inserito
 
Ultima modifica:
Si a me serviva il calcolo (statico) della pressione atmosferica, conoscendo solamente l'altitudine che é un parametro fisso.

Ho recuperato il codice funzionante in javascript di uno dei due tools sopra, io non ci capisco niente, vedi se riescia ricavare qualcosa poi se vuoi cancellalo.



Codice:
<script type="text/javascript"><!--
function calculate() {
var c = new Number(); 
var a,b,m,u,ua,ia,oa;
ia= parseFloat(document.calculator.ia.value);
u = document.calculator.uia.options[document.calculator.uia.selectedIndex].value;ua=u.split(":",3);
m = parseFloat(ua[0]);b=parseFloat(ua[1]);a=parseFloat(ua[2]);if(m == 0 && a == 0 && b == 0) { return false; };
ia =Math.pow(((ia-a)/m),(1/b));

oa = 101325*Math.exp(-1*ia/7000);

u = document.calculator.uoa.options[document.calculator.uoa.selectedIndex].value;ua=u.split(":",3);
m = parseFloat(ua[0]);b=parseFloat(ua[1]);a=parseFloat(ua[2]);if(m == 0 && a == 0 && b == 0) { return false; };
oa = Math.pow(oa,b)*m+a;
if(oa.toPrecision) { oa=oa.toPrecision(6); } document.calculator.oa.value = oa;
 return false;
}
</script>


<form onsubmit="return calculate()" name="calculator" action="">
<table class="calc" border="0" cellpadding="0" cellspacing="1" width="300"><tbody><tr><td><small><i>Height (altitude)</i></small></td><td><input name="ia" value="0" size="10" class="infield" onblur="calculate();" type="text"></td><td><select name="uia" onchange="calculate();" class="infield"><option value="1:1:0" selected="selected">m</option>
<option value="0:1:0">--- METRIC ---</option>
<option value="1000000000000:1:0">pm</option>
<option value="1000000000:1:0">nm</option>
<option value="1000000:1:0">microns (µm)</option>
<option value="1000:1:0">mm</option>
<option value="100:1:0">cm</option>
<option value="0.001:1:0">km</option>
<option value="0:1:0">-- IMPERIAL --</option>
<option value="39370.07874:1:0">mil</option>
<option value="629.9212598:1:0">1/16 inch</option>
<option value="39.370078740157:1:0">inches</option>
<option value="3.280839895:1:0">feet</option>
<option value="1.093613298:1:0">yards</option>
<option value="0.000621371192:1:0">miles</option>
<option value="0:1:0">- SCIENTIFIC -</option>
<option value="6.187153983e+34:1:0">Planck</option>
<option value="18897268778:1:0">Bohrs</option>
<option value="10000000000:1:0">Angstrom</option>
<option value="3.33569906e-09:1:0">light-seconds</option>
<option value="1.057000834e-16:1:0">light-years</option>
<option value="6.684587123e-12:1:0">au</option>
<option value="3.240755744e-17:1:0">parsecs</option>
<option value="0:1:0">--- OTHER ---</option>
<option value="2834.654669:1:0">points</option>
<option value="2.187226597:1:0">cubits</option>
<option value="0.546806649:1:0">fathoms</option>
<option value="0.198838782:1:0">rods</option>
<option value="0.049709695:1:0">chains</option>
<option value="0.009090909091:1:0">football fields</option>
<option value="0.00497097:1:0">furlongs</option>
<option value="0.0006756756757:1:0">Roman miles</option>
<option value="0.000539956803:1:0">nautical miles</option>
<option value="0.000207123731:1:0">leagues</option>
</select></td></tr>
<tr><td colspan="3"><hr></td></tr>
<tr><td><small><i>Approx. pressure</i></small></td><td><input name="oa" value="Wait" size="10" readonly="readonly" class="outfield" type="text"></td><td><select name="uoa" onchange="calculate();" class="outfield"><option value="1:1:0">Pa</option>
<option value="1000000000:1:0">nPa</option>
<option value="1000000:1:0">µPa</option>
<option value="1000:1:0">mPa</option>
<option value="0.001:1:0">kPa</option>
<option value="1e-06:1:0">MPa</option>
<option value="1e-09:1:0">GPa</option>
<option value="9.869232667e-06:1:0" selected="selected">atm</option>
<option value="1.019716213e-05:1:0">kgf/cm² &nbsp; (at)</option>
<option value="0.01:1:0">mbar</option>
<option value="1e-05:1:0">bar</option>
<option value="0.00750061505:1:0">mmHg (Torr)</option>
<option value="0.00029529980511811:1:0">in Hg</option>
<option value="0.00033455256:1:0">ft H2O</option>
<option value="0.00010197162:1:0">m H2O</option>
<option value="0.0001450377439:1:0">psi</option>
</select></td></tr>
<tr><td></td><td><input name="go" value="Calculate!" onclick="return calculate()" class="calculate" type="button"></td></td></tr></tbody></table></form>
 
Ultima modifica:
ciao
se vuoi lo traduco in php, ma una cosa:
ti servono tutte quelle conversion? o ti pasta mettere l'altezza in metri e avere la pressione in Pa o kPa?
e con che approssimazione dopo la virgola?
 
Ciao mi serve solo la formula funzionante, altezza in metri e la pressione atmosferica in Pa per gli arrotondamenti mi arrangio io

poi se vuoi convertirlo tutto e metterlo nella vostra sezione script vedi te.


Grazie
 
ciao
ecco la formula funzionante
PHP:
<?php
//oa = 101325*Math.exp(-1*ia/7000) formula da js
$h=2500;//altezza in metri
$p=-$h/7000;
$p=101325*exp($p);//pressione in Pa (se dividi per 1000 in kPa)
echo "pressione a $h m = $p Pa";
?>
 

Discussioni simili