Errore assoluto

Messaggioda thedarkhero » 09/09/2010, 18:10

Siano \( \displaystyle {f{{\left({x}\right)}}}=\frac{{1}}{{{1}-{x}}} \) e \( \displaystyle {g{{\left({x}\right)}}}={1}+{x}+{{x}}^{{2}}+{{x}}^{{3}} \).
Disegnando il grafico di \( \displaystyle {\abs{{\left({f{{\left({x}\right)}}}-{g{{\left({x}\right)}}}\right)}}} \) nell'intervallo \( \displaystyle {\left[-{1},{1}\right]} \) si nota che in x=0 l'errore assoluto è molto piccolo.
A cosa è dovuto?

Analiticamente si ha \( \displaystyle {f{{\left({0}\right)}}}={g{{\left({0}\right)}}}={1} \), come posso stimare \( \displaystyle {\abs{{\left({f{{\left({x}\right)}}}-{g{{\left({x}\right)}}}\right)}}} \) in \( \displaystyle {x}={0} \) in funzione di \( \displaystyle \epsilon_{{M}} \)?
thedarkhero
Average Member
Average Member
 
Messaggi: 783
Iscritto il: 04/06/2008, 22:21

Messaggioda maurer » 09/09/2010, 19:14

Beh, \( \displaystyle g(x) = 1+ x+x^2+x^3 \) è il polinomio di Taylor di terzo grado della funzione \( \displaystyle \frac{1}{1-x} \) . Se \( \displaystyle |x|<1 \) la serie di Taylor della funzione converge alla funzione stessa e quindi la funzione risulta analitica in \( \displaystyle (-1,1) \) (ammette sviluppo in serie di potenze in ogni punto di \( \displaystyle (-1,1) \) ).
Per stimare l'errore puoi utilizzare il teorema di Taylor con resto di Lagrange:

    Teorema. Sia \( \displaystyle f:(a,b) \to \mathbb{R} \) una funzione derivabile n volte continuità e supponiamo che esista anche la derivata (n+1)-esima (eventualmente senza essere continua). Allora per ogni \( \displaystyle x_0 \in (a,b) \) e per ogni \( \displaystyle x \in (a,b) \) esiste un \( \displaystyle \xi \in (x_0,x) \) tale che:
    \( \displaystyle \displaystyle f(x) = \sum_{k=0}^{n}\frac{f^{(k)}(x_0)}{k!}(x-x_0)^k + \frac{f^{(n+1)}(\xi)}{(n+1)!}(x-x_0)^{n+1} \)


Nel tuo caso l'errore assoluto è quindi dato da
\( \displaystyle \displaystyle \frac{|f^{(4)}(\xi)|}{4!}|x-x_0|^{n+1} \)
maurer
Senior Member
Senior Member
 
Messaggi: 1743
Iscritto il: 31/07/2008, 12:11
Località: Milano!

Messaggioda thedarkhero » 09/09/2010, 19:43

D'accordo ma nel mio caso la funzione \( \displaystyle {x}\to{\abs{{\left({f{{\left({x}\right)}}}-{g{{\left({x}\right)}}}\right)}}} \) è nulla in \( \displaystyle {x}={0} \) quindi analiticamente l'errore è nullo, ma nella macchina non è così. Sbaglio?
thedarkhero
Average Member
Average Member
 
Messaggi: 783
Iscritto il: 04/06/2008, 22:21

Messaggioda maurer » 09/09/2010, 20:06

Ah! Non avevo capito, scusami!
Non ho una risposta. Posso provare a indovinare: secondo me la macchina per tracciare il grafico di \( \displaystyle \frac{1}{1-x} \) usa un'interpolazione lineare con una meshe dell'intervallo \( \displaystyle [-1,1] \) che si calcola in automatico. Indichiamo con \( \displaystyle -1 = t_0 < t_1 < \ldots < t_n < t_{n+1} = 1 \) i punti che suddividono l'intervallo \( \displaystyle [-1,1] \) per effettuare l'interpolazione lineare. L'errore che rilevi tu, probabilmente dipende dal fatto che nessuno dei \( \displaystyle t_i \) coincide con \( \displaystyle 0 \) e quindi viene rilevato un errore (molto piccolo). Ti convince?

Senza conoscere con precisione l'algoritmo utilizzato dalla macchina, mi riesce difficile darti una stima dell'errore in funzione dell'epsilon di macchina. E con le mie attuali conoscenze, credo che avrei difficoltà anche se sapessimo di che algoritmo si tratta.
maurer
Senior Member
Senior Member
 
Messaggi: 1743
Iscritto il: 31/07/2008, 12:11
Località: Milano!

Messaggioda dissonance » 10/09/2010, 09:38

@maurer: Non credo sia così. Probabilmente la macchina usa un algoritmo diretto: valuta \( \displaystyle {1}-{x} \) e poi passa al reciproco. Non occorre usare interpolazioni per le funzioni algebriche e razionali, tanto è vero che esiste una tecnica di approssimazione, detta di Padé, che usa proprio queste ultime in luogo dei polinomi per approssimare localmente funzioni analitiche.

@thedarkhero: Una tecnica per stimare l'errore algoritmico di cui ti stai interessando fa uso dei grafi. La trovi spiegata accuratamente sul libro di Bini e Capovani Metodi numerici, secondo capitolo. In sostanza si tratta di analizzare l'algoritmo di calcolo, il quale consiste di varie operazioni, ognuna delle quali introduce un errore locale che puoi stimare con \( \displaystyle \epsilon_{{M}} \) (intendo la precisione di macchina) e amplifica l'errore introdotto ai passi precedenti.

In questo caso però il discorso è molto più semplice: secondo me per \( \displaystyle {x}={0} \) l'errore è proprio nullo. Prendi \( \displaystyle \frac{{1}}{{{1}-{x}}} \): per valutarlo in \( \displaystyle {0} \), la macchina calcola \( \displaystyle {1}-{0} \) e non commette alcun errore; poi passa al reciproco e ancora non commette alcun errore. Analogamente per \( \displaystyle {1}+{x}+{{x}}^{{2}}+{{x}}^{{3}} \); in totale l'errore è nullo. E' un caso molto particolare, perché stai valutando in \( \displaystyle {0} \) che non è un numero di macchina come gli altri.
Avatar utente
dissonance
Moderatore
Moderatore
 
Messaggi: 9898
Iscritto il: 24/05/2008, 19:39
Località: Bari

Messaggioda maurer » 10/09/2010, 10:21

Ah! Buono a sapersi... nel nostro corso di analisi numerica di base non ce le hanno raccontate tutte queste cose! :)
maurer
Senior Member
Senior Member
 
Messaggi: 1743
Iscritto il: 31/07/2008, 12:11
Località: Milano!

Messaggioda dissonance » 10/09/2010, 11:16

Se è per questo non se ne è parlato neanche nei corsi che ho frequentato io. Del resto sono cose pallosissime e per fortuna nella maggior parte dei casi si possono ignorare senza troppo danno, oppure si può andare a senso. Così almeno è detto nel primo capitolo del libro di Moler, che è molto leggero e ti puoi leggere in poco tempo, se ti sei incuriosito.
Avatar utente
dissonance
Moderatore
Moderatore
 
Messaggi: 9898
Iscritto il: 24/05/2008, 19:39
Località: Bari


Torna a Analisi Numerica e Ricerca Operativa

Chi c’è in linea

Visitano il forum: Nessuno e 0 ospiti