La pressione atmosferica è influenzata da vari fattori ma, mediamente,
al variare della quota sul livello del mare ha un andamento abbastanza regolare.
Qui sotto sono riportati i valori medi, rispetto al tempo e alla zona
geografica, della pressione in atmosfere in corripondenza dell'altitudine in km
rilevati dalla NASA. A destra i dati sono riportati
su un sistema di assi ed è tracciato il grafico di una funzione che
li approssima. Prova a trovare la funzione. Se vuoi utilizza WolframAlpha.km = c(0, 1, 2, 4, 6, 8, 10, 15, 20, 30) atm = c(1,0.886,0.785,0.608,0.465,0.35,0.26,0.115,0.069,0.012) |
Prima usiamo WolframAlpha (vedi). Poi vedremo come usarne altro.
Proviamo con una funzione quadratica:
quadratic fit (0,1),(1,0.886),(2,0.785),(4,0.608),(6,0.465),(8,0.35),(10,0.26),(15,0.115),(20,0.069),(30,0.012)
0.00179858 x^2 - 0.0840002 x + 0.947369
Evidentemente questa scelta è da scartare.
Proviamo con una funzione cubica:
cubic fit (0,1),(1,0.886),(2,0.785),(4,0.608),(6,0.465),(8,0.35),(10,0.26),(15,0.115),(20,0.069),(30,0.012)
-0.0000690156 x^3 + 0.00481989 x^2 - 0.115345 x + 0.998035
Anche questa scelta è da scartare: non può scendere sotto all'asse x.
Proviamo con una funzione esponenziale:
1.01307 e^(-0.13316 x)
Ottima approssimaziome. Posso prendere x → 1.01*exp(-0.133*x).
Ecco come potremmo usare R (vedi):
source("http://macosa.dima.unige.it/r.R") BF=4; HF=3 km = c(0,1,2,4,6,8,10,15,20,30) atm = c(1,0.886,0.785,0.608,0.465,0.35,0.26,0.115,0.069,0.012) Plane(0,30, 0,1) POINT(km, atm, "red") f = function(x) k^(-x) # Dopo un po' di tentativi trovo: k = 1.14 graph1(f, 0,30, "blue") # # Vediamo sotto come sarebbe l'approssimazione con una funzione cubica: regression3(km,atm) # -6.9e-05 * x^3 + 0.00482 * x^2 + -0.115 * x + 0.998 g = function(x) -6.9e-05 * x^3 + 0.00482 * x^2 + -0.115 * x + 0.998 graph1(g,0,32, "brown") # # Ecco come usare anche una tecnica più generale (vedi), in cui uso U per # il parametro incognito. Ipotizzo che la funzione sia del tipo x → U^(-x) yy1 = function(U,x) U^(-x); Fun = function(x) U0^(-x) # con U0 al posto di U dif = 1e300 # scarto, ampio, preso inizialmente m1 = 0.1; M1 = 5; F_RUN1(km,atm,1e5); cat(U0," d:",NUMBER(dif^0.5),"\n") # 1.139933 d: 0.0381822806713535 # valore di U e nuovo scarto m1 = 1; M1 = 1.5; F_RUN1(km,atm,1e5); cat(U0," d:",NUMBER(dif^0.5),"\n") # 1.13987 d: 0.0381806703785859 m1 = 1.139; M1 = 1.4; F_RUN1(km,atm,1e5); cat(U0," d:",NUMBER(dif^0.5),"\n") # 1.139869 d: 0.0381806697150675 # Posso concludere che quando U (cioè k) vale 1.13987 si ha la migliore # approssimazione. Il grafico che otterrei sarebbe indistinguibile da quello # per k = 1.14. Ma in questo posso motivare il valore 1.14 ottenuto.
Come si poteva utilizzare un semplice script online
per il calcolo della cubica e un altro per il grafico. Potremmo
fare, con uno script simile, il grafico della funzione esponenziale approssimante.