Re: Errore sull'integrazione numerica

From: Peltio <peltio_at_twilight.zone>
Date: Tue, 01 Jun 2004 00:23:11 GMT

"Elio Fabri" ha scritto

>> I[f] - Tn[f] = - (b-a)/12 h^2 f''[chi]
>>
>Il problema e' che se stai integrando una funzione "empirica" non hai
>nessun modo di stimare f".

Io quella formula l'avevo data solo per distinguere l'errore dovuto al
metodo numerico (ossia al fatto che sto integrando un polinomio interpolante
lineare a tratti invece della funzione - qualunque essa sia) da quello
dovuto agli errori sui dati.
Ma questa tua osservazione mi fa sorgere un dubbio di carattere filosofico.
Non ho pi� il post dell'OP e non ricordo a che tipo di grandezza fisica (se
continua, discreta, un conteggio, o che altro) si riferisse la misura per
cui perdonami se la tua osservazione si riferiva ad altro.

Il dubbio che ho ora � questo:

    quando una serie di misure si riferisce a una grandezza fisica
    continua si pu� assumere che 'alle spalle' delle misure ci sia
    una funzione continua che descrive il 'valore esatto' della
    grandezza, cui poi vengono sommati gli errori di vario genere?

Perch� se la grandezza fisica si comporta con una certa regolarit� (non ha
discontinuit�, cuspidi eccetera), ossia si pu� ipotizzare una sua
appartenenza a Cn per un certo n sull'intervallo di integrazione, posso
utilizzare la formula
        I[f] - Tn[f] = - (b-a)/12 h^2 f''[chi]
e anche andarmi a cercare una stima asintotica in base a
        |I[f] - Tn[f]| ~ h/12 |f'[b]-f'[a]|
Ora il problema (grosso, � vero) sta nello stimare la derivata agli estremi.
Anzi no. Il problema sta nello stimare l'errore della derivata numerica che
si sa richiede a sua volta informazioni sulla derivata successiva, � molto
sensibile all'incertezza sui dati e al decrescere del passo h sotto il
valore ottimale. Per avere un'idea di massima si potrebbe vedere come cambia
il valore computato quando considero i dati agli estremi dei rispettivi
range.


ESEMPIO (lunghetto)
==================
Nel caso della funzione seno dell'esempio di integrazione si ottiene una
stima rozzissima purtroppo, in quanto l'errore in corrispondenza dello 0 si
fa parecchio sentire. Ma ho anche generato dati con una incertezza fissa e
tutt'altro che trascurabile. I valori di yapprk, dk e sk per i primi e
ultimi quattro punti sono

    0.000768, 0.012103, 0.009572
    0.018631. 0.013390, 0.013291
    0.01635, 0.013735, 0.010971
    0.033303, 0.013334, 0.010425
    ...
    0.821439, 0.011254, 0.008542
    0.830764, 0.013689, 0.010583
    0.834993, 0.008729, 0.006793
    0.839114, 0.007852, 0.005627

Uso la formula pi� semplice a due punti per cercare una stima della derivata
prima. Anche prendendo un passo h = 0.03 (il primo e il quarto punto), la
derivata prima all'estremo a � quasi ignota. Pu� spaziare tra
((0.033303 - 0.013334) - (0.000768 + 0.012103)) / 0.03= 0.24
((0.033303+0.013334) - (0.000768-0.012103)) / 0.03= 1.93
la media � 0.845 (il valore esatto � 1)

La derivata (all'indietro) all'estremo b varia tra i seguenti valori
(paura):
((0.839114 - 0.007852) - (0.821439 + 0.011254)) / 0.03 = -0.05
((0.839114 + 0.007852) - (0.821439 - 0.011254)) / 0.03 = 1.23
la media � 0.64 (il valore esatto � cos[1]= 0.54)

Del resto con h= 0.03 e d= 0.01 c'era da attendersi un errore di derivazione
_minimo_ (dovuto all'incertezza sui dati) di 0.01/0.03 pari a d/h= 1/3.
Con questi dati, per quanto poco precisi (da vergognarcisi), possiamo dare
una stima dell'errore di integrazione
     h/12 |f'[b]-f'[a]|=0.01/12 (1.23-0.24) = 0.000825 = 0.825 10^-3
contro il valore asintotico teorico di
    0.01/12 |0.54-1| = 0.000383 = 0.383 10^-3
Entrambi questi valori sono comunque eccessivamente pessimistici, visto che
la stima basata sulla massima derivata seconda (1,per eccesso) fornisce
    (b-a)/12 h^2 |f''[chi]|<=0.000008 = 0.008 10^-3
e l'errore effettivamente calcolato rispetto all'integrale con i valori
esatti yk vale:
    |I[f]-Tn[f]|=0.000004 = 0.004 10^-3
(ed � sotto tutte le stime fatte).

Questo esempio in particolare � forse un caso in cui l'errore nei dati era
un po' eccessivo (circa il 10% mi pare all'estremo b ma esagerato per valori
bassi di x). Ma in generale su funzioni pi� serie con errori dell'ordine
dell'1 o 2%, cos� come � possibile calcolare un integrale di dati empirici
dovrebbe essere possibile calcolare anche una derivata, o no?
A meno di non avere un h troppo piccolo e un errore sui dati troppo grande
una stima a quattro punti della derivata prima potrebbe fornire una stima
adatta ad essere maggiorata per determinare l'errore di integrazione.
O sto fantasticando troppo?

saluti,
Peltio
Received on Tue Jun 01 2004 - 02:23:11 CEST

This archive was generated by hypermail 2.3.0 : Fri Nov 08 2024 - 05:10:25 CET