Tavola trigonometrica
In matematica la tavola trigonometrica è una tabella che elenca il valore di una funzione trigonometrica per un certo numero di possibili valori angolari. Una tavola trigonometrica è principalmente caratterizzata da due aspetti:
- dettaglio: indica la differenza tra due angoli consecutivi di cui la tabella riporta i valori; maggiore è il dettaglio, minore è la differenza;
- precisione: indica con quale approssimazione sono arrotondati i valori della funzione trigonometrica riportati nella tavola.
Il dettaglio può non essere costante per meglio mappare funzioni che abbiano asintoti verticali o orizzontali, che implicano significative variazioni del valore delle funzioni in prossimità di alcuni valori angolari.
Storia
Origini
La prima tavola trigonometrica di cui si ha testimonianza risale al II secolo a.C. ed è quella predisposta da Ipparco di Nicea allo scopo di risolvere, ovvero individuare tutti gli angoli e le lunghezze dei lati nota una parte di essi, ogni possibile triangolo.[1]
Secondo alcune interpretazioni della tavoletta d'argilla di origine babilonese nota con il nome di Plimpton 322 (risalente al 1800 a.C.) potrebbe essere una rudimentale tavola trigonometrica.[2]
Claudio Tolomeo, attorno al 150, nella sua opera Almagesto spiega come costruire una tavola delle corde utile per i calcoli astronomici.
È curioso notare come le prime tavole trigonometriche non mappassero le funzioni seno e coseno, come normalmente accade oggi, quanto le funzioni seno e senoverso.
Impieghi storici
Prima dell'introduzione delle calcolatrici tascabili, le tavole trigonometiche erano essenziali per i calcoli richiesti in numerose aree della scienza e delle applicazioni pratiche, si veda ad esempio l'importanza dell'algoritmo di prostaferesi per la navigazione e l'astronomia.
Il calcolo delle tabelle matematiche era un'area di studio molto importante che portò all'invenzione dei primi dispositivi automatici di calcolo.
Tra i matematici che si ricordano per aver contribuito a definire tavole sempre più accurate, vanno citati:
- Abu l-Wafa Muhammad al-Buzjani
- Al-Kashi
- Bhāskara
- Johann Werner
- Keplero
- Georg Joachim Rheticus
- Muḥammad ibn Mūsā al-Khwārizmī
Impieghi moderni
Oggi ogni calcolatrice è in grado di fornire i valori delle funzioni trigonometriche per qualsiasi angolo. I metodi usati dalle calcolatrici per ottenere questo risultato comprendono:
- l'interpolazione di valori della funzione appartenenti ad una tabella precaricata nella memoria della calcolatrice
- l'approssimazione della funzione tramite uno sviluppo polinomiale di grado sufficientemente elevato.
L'interpolazione, anche di tabelle non molto dettagliate, trova ancora oggi impiego nella computer grafica, dove la precisione di calcolo non deve essere necessariamente elevata volendo prediligere la velocità di calcolo.
Un'altra importante applicazione delle tabelle trigonometriche è negli algoritmi per il calcolo della trasformata di Fourier veloce (FFT), dove gli stessi valori delle funzioni trigonometriche (i cosiddetti fattori twiddle o di rotazione) devono essere calcolati più volte all'interno della stessa trasformata, soprattutto nel caso non raro in cui si eseguono più trasformazioni dello stesso ordine. In questo caso non sarebbe accettabile chiamare ripetutamente la routine generica di calcolo poiché il tempo complessivo sarebbe eccessivo. Una possibilità è quella di chiamare la routine un'unica volta per ciascun valore twiddle e storicizzarne il risultato in una tabella da consultare durante l'algoritmo. Seppure efficace, la soluzione non risulta efficiente in termine di quantità di memoria usata.
Metodi per l'ottenimento delle tavole
Formule di addizione e bisezione di angoli
Storicamente, il metodo più antico, e probabilmente quello più comunemente usato fino all'avvento dei calcolatori elettronici, per ottenere e ampliare con sistematicità una tavola trigonometrica è stato quello di applicare ripetutamente le identità trigonometriche notevoli note come formule di bisezione e formule di addizione e sottrazione partendo da valori noti quali oppure :
L'impiego più remoto, di cui ci sia pervenuta una testimonianza scritta, risale a Tolomeo.
Equazioni differenziali
È un metodo rapido, ma impreciso, per ottenere una tabella di dimensione nell'intervallo
Posto e , si usano le seguenti formule:
- s0 = 0
- c0 = 1
- sn+1 = sn + d × cn
- cn+1 = cn − d × sn
per n = 0,...,N-1, dove d = 2π/N.
Queste formule si ottengono applicando il metodo di Eulero per l'integrazione del seguente sistema di equazioni differenziali ordinarie:
con le condizioni al contorno s(0) = 0 e c(0) = 1, la cui soluzione analitica è e .
L'errore che si commette con l'uso di questo algoritmo è inversamente proporzionale ad N. In particolare per il seno il massimo dell'approssimazione è circa 15/N, mentre per il coseno è 20/N. Ad esempio, per N = 256 l'errore massimo che si commette nel calcolo del seno è circa ~0.061 (s201 = -1.0368 invece di -0.9757). Per N = 1024, l'errore massimo che si commette nel calcolo del seno è circa ~0.015 (s802 = -0.99321 invece di -0.97832), all'incirca 4 (=1024/256) volte inferiore.
L'andamento dell'ampiezza dell'errore non è lineare ma oscillante e divergente, per cui se si volesse tracciare la curva definita anche da coppie (s,c) ottenute per valori superiori a N, si otterrebbe una spirale logaritmica anziché un cerchio.
Formule ricorsive di Eulero
Una semplice formula ricorsiva per la generazione delle tabelle trigonometriche è basata sulla Formula di Eulero e sulla seguente relazione:
Possiamo così calcolare i valori trigonometrici sn e cn come segue:
- c0 = 1
- s0 = 0
- cn+1 = wr cn − wi sn
- sn+1 = wi cn + wr sn
per n = 0, ..., N - 1, dove e . I due valori iniziali sono generalmente calcolati avvalendosi di funzioni di libreria esistenti (ad esempio utilizzando semplicemente con il metodo di Newton nel piano complesso per il calcolo delle radici dell'unità di zN − 1).
Questo metodo in teoria (cioè in aritmetica esatta) dovrebbe fornire una tavola di valori esatta, tuttavia gli errori dovuti all'aritmetica finita (virgola mobile) fanno sì che l'errore commesso sia un O(ε N) (nel peggiore dei casi ma anche mediamente), dove ε è la precisione della rappresentazione in virgola mobile.
Un significativo miglioramento si ottiene utilizzando la seguente modifica, uno stratagemma (ideato da Richard C. Singleton) sovente utilizzato per ottenere i valori trigonometrici nelle implementazioni della FFT:
- c0 = 1
- s0 = 0
- cn+1 = cn − (αcn + β sn)
- sn+1 = sn + (β cn − α sn)
dove α = 2 sin2(π/N) e β = sin(2π/N). Gli errori di questo metodo sono molto più piccoli, O(ε √N) in media e O(ε N) nel peggiore dei casi, che è comunque in grado di inficiare significativamente la precisione per FFT di grandi dimensioni.
Tavola con valori
Gradi ° | Radianti | Seno | Coseno | Tangente | Cotangente |
---|---|---|---|---|---|
<0° | <0 | -sin (-x) | cos (-x) | -tg(-x) | -ctg(-x) |
0° | 0 | 0 | 1 | 0 | Non definita |
1° | π/180 | 0,0175 | 0,9998 | 0,0175 | 57,2900 |
2° | π/90 | 0,0349 | 0,9994 | 0,0349 | 28,6363 |
3° | π/60 | 0,0523 | 0,9986 | 0,0524 | 19,0811 |
4° | π/45 | 0,0698 | 0,9976 | 0,0699 | 14,3007 |
5° | π/36 | 0,0872 | 0,9962 | 0,0875 | 11,4301 |
6° | π/30 | 0,1045 | 0,9945 | 0,1051 | 9,5144 |
7° | 7π/180 | 0,1219 | 0,9925 | 0,1228 | 8,1443 |
8° | 2π/45 | 0,1392 | 0,9903 | 0,1405 | 7,1154 |
9° | π/20 | 0,1564 | 0,9877 | 0,1584 | 6,3138 |
10° | π/18 | 0,1736 | 0,9848 | 0,1763 | 5,6713 |
11° | 11π/180 | 0,1908 | 0,9816 | 0,1944 | 5,1446 |
12° | π/15 | 0,2079 | 0,9781 | 0,2126 | 4,7046 |
13° | 13π/180 | 0,2250 | 0,9744 | 0,2309 | 4,3315 |
14° | 7π/90 | 0,2419 | 0,9703 | 0,2493 | 4,0108 |
15° | π/12 | 0,2588[3] | 0,9659[4] | 0,2679[5] | 3,7321[6] |
16° | 4π/45 | 0,2756 | 0,9613 | 0,2867 | 3,4874 |
17° | 17π/180 | 0,2924 | 0,9563 | 0,3057 | 3,2709 |
18° | π/10 | 0,3090[7] | 0,9511[8] | 0,3249[9] | 3,0777[10] |
19° | 19π/180 | 0,3256 | 0,9455 | 0,3443 | 2,9042 |
20° | π/9 | 0,3420 | 0,9397 | 0,3640 | 2,7475 |
21° | 7π/60 | 0,3584 | 0,9336 | 0,3839 | 2,6051 |
22° | 11π/90 | 0,3746 | 0,9272 | 0,4040 | 2,4751 |
23° | 23π/180 | 0,3907 | 0,9205 | 0,4245 | 2,3559 |
24° | 2π/15 | 0,4067 | 0,9135 | 0,4452 | 2,2460 |
25° | 5π/36 | 0,4226 | 0,9063 | 0,4663 | 2,1445 |
26° | 13π/90 | 0,4384 | 0,8988 | 0,4877 | 2,0503 |
27° | 3π/20 | 0,4540 | 0,8910 | 0,5095 | 1,9626 |
28° | 7π/45 | 0,4695 | 0,8829 | 0,5317 | 1,8807 |
29° | 29π/180 | 0,4848 | 0,8746 | 0,5543 | 1,8040 |
30° | π/6 | 0,5000[11] | 0,8660[12] | 0,57735[13] | 1,7321[14] |
31° | 31π/180 | 0,5150 | 0,8572 | 0,6009 | 1,6643 |
32° | 8π/45 | 0,5299 | 0,8480 | 0,6249 | 1,6003 |
33° | 11π/60 | 0,5446 | 0,8387 | 0,6494 | 1,5399 |
34° | 17π/90 | 0,5592 | 0,8290 | 0,6745 | 1,4826 |
35° | 7π/36 | 0,5736 | 0,8192 | 0,7002 | 1,4281 |
36° | π/5 | 0,5878[15] | 0,8090[16] | 0,7265[17] | 1,3764[18] |
37° | 37π/180 | 0,6018 | 0,7986 | 0,7536 | 1,3270 |
38° | 19π/90 | 0,6157 | 0,7880 | 0,7813 | 1,2799 |
39° | 13π/60 | 0,6293 | 0,7771 | 0,8098 | 1,2349 |
40° | 2π/9 | 0,6428 | 0,7660 | 0,8391 | 1,1918 |
41° | 41π/180 | 0,6561 | 0,7547 | 0,8693 | 1,1504 |
42° | 7π/30 | 0,6691 | 0,7431 | 0,9004 | 1,1106 |
43° | 43π/180 | 0,6820 | 0,7314 | 0,9325 | 1,0724 |
44° | 11π/45 | 0,6947 | 0,7193 | 0,9657 | 1,0355 |
45° | π/4 | 0,7071[19] | 0,7071[19] | 1 | 1 |
45°↔90° | π/4↔π/2 | cos(90°-x) | sin(90°-x) | ctg(90°-x) | tg(90°-x) |
60° | π/3 | 0,8660[12] | 0,5000[11] | 1,7321[14] | 0,5774[13] |
75° | 5π/12 | 0,9659[4] | 0,2588[3] | 3,7321[6] | 0,2679[5] |
90° | π/2 | 1 | 0 | Non definita | 0 |
90°↔180° | π/2↔π | sin(180°-x) | -cos(180°-x) | -tg(180°-x) | -ctg(180°-x) |
180° | π | 0 | -1 | 0 | Non definita |
180°↔360° | π↔2π | -sin(x-180°) | -cos(x-180°) | tg(x-180°) | ctg(x-180°) |
360° | 2π | 0 | 1 | 0 | Non definita |
>360° | >2π | sin(x-360°) | cos(x-360°) | tg(x-360°) | ctg(x-360°) |
Note
Bibliografia
- Carl B. Boyer, A History of Mathematics, 2nd ed. (Wiley, New York, 1991).
- Manfred Tasche and Hansmartin Zeuner, "Improved roundoff error analysis for precomputed twiddle factors," J. Computational Analysis and Applications 4 (1), 1-18 (2002).
- James C. Schatzman, "Accuracy of the discrete Fourier transform and the fast Fourier transform," SIAM J. Sci. Comput. 17 (5), 1150-1166 (1996).
Collegamenti esterni
- (EN) trigonometry table, su Enciclopedia Britannica, Encyclopædia Britannica, Inc.
V · D · M | ||
---|---|---|
Funzione trigonometrica · Funzione trigonometrica inversa | ||
Funzioni | Seno · Senoverso · Coseno · Cosenoverso · Tangente · Cotangente · Secante · Secante esterna · Cosecante · Cosecante esterna · Funzioni trigonometriche complesse | ![]() |
Funzioni inverse | Arcoseno · Arcocoseno · Arcotangente · Arcocotangente · Arcosecante · Arcocosecante | |
Teoremi e formule | Teorema della corda · Teorema dei seni · Teorema del coseno · Teorema di Nepero · Teorema delle cotangenti · Teorema di Pitagora · Formule di prostaferesi · Formule di Werner · Formula di Eulero · Formule di duplicazione | |
Altro | Tavola trigonometrica · Tavola degli integrali indefiniti di funzioni trigonometriche · Tavola degli integrali indefiniti di funzioni d'arco · Funzioni iperboliche · Identità trigonometrica · Costanti trigonometriche esatte · Storia delle funzioni trigonometriche · Equazione trigonometrica · Disequazione trigonometrica |
![](http://upload.wikimedia.org/wikipedia/commons/thumb/a/af/Crystal128-kmplot.svg/25px-Crystal128-kmplot.svg.png)