Problemi e algoritmi
Algoritmi ben condizionati e mal condizionati
P. Ben condizionato (non difficile)
P. Mal condizionato (difficile)
Algoritmi buoni e cattivi
A. Buoni (robusti - efficienti)
A. Cattivi (inefficienti - instabili)
Esempio
-
Algoritmo cattivo per calcolare f'(x) = 1
(int) + = , = h: = 1; for i = 1 to 10, h: = n h/10; pause end
In Matlab <= 16 cifre & simboli:
(-1) = Il problema delle 16 cifre massime con perdita delle successive viene chiamato cancellazione catastrofica
-
x2 - 2x + 1 = 0
(x - 1) = 0
x = 1 senza errori
In generale non sappiamo il risultato
eg. x = 0.0000000000123456789 ? È giusto? x2 - 2x + 1 = 04 Mal Condizionata
C sono sempre piccoli errori: x2 - 2x + 1 = E = piccolo errore
(x - 1)2 Ex = 1 + √E
Problemi e algoritmi
P. Ben Condizionato (non difficili)
P. Mal Condizionato (D(f,c,ε))
A. Buoni (stabile - efficiente)
A. Cattivi (inefficiente - instabile)
Esempio
-
Algoritmo cattivo per calcolare f'(x) = 1
(int) = h = 1 h ≠ 0h = x, for x=1 = 1.30, ((1+b)-1)/h, h=h/10, pause end
In MatLab > 16 cifre e simboli: (x-1) ∅ Il problema della 16 cifre massime con perdita delle successive viene chiamato cancellazione catastrofica x²-2x+1=0 (x-1)² = 0 x=1 senza errori In generale non troviamo il risultato es. x=0.0000000123456789 ? È giusto? ∅ x²-2x+1=0 MAL CONDIZIONATA Anche sempre piccoli errori x²-2x+1=ε = piccolo errore (x-1)² = ε x=1±√ε
Per esempio ε = 10-16 errore input 10-8, 10-9 errore output errore output > input errore Ordine di approssimazione dell'errore L'errore dell'output è 100 milioni più grande dell'errore dell'input
Ordine di approssimazione dell'errore
L'errore dell'output è 100 milioni più grande dell'errore dell'input
-
x1= 1, 900x1= 1000xmx1 = 1/3 (3?)m=1:
x2 = 900 / 3 = 1000
x3 = 9000 / 9 = 1000
x4 = 9000 / 9 = 1000
xm = 32m=2
x3 = 900 / 3 = 1000
x4 = 9000 / 9 = 1000
x5 = 900 / 3 = 1000
x6 = 9000 / 9 = 1000
xm = 33 (***)
xm = x3 In generale xm 1/3(>3 (3000)) con x0 = 1, x1 = x/3 Intanto A≠1, B=0 In pratica A≠1, B≠0 B appare più piccolo e a sue doppie iterazioni (3000)m amenta B diventa dominante e il risultato diventa sbagliato
Problema mal condizionato
-
In = ∫(0,1) xn e x dx
In = ∫(0,1) xn ex dx x = u-x exxe( ex-eo ex( e-o) xex dx In+1 = ∫(0,1) xn1 ex dx In = 1/3.sup=n = (n(n!)) et. e Risolubile Indebisoo) I = ∫01 x4 dx = ? problema Algoritmo 1 A = 1 - x Ik = 2 - m In-1 Algoritmo 2 ∫x1 A4 - 1 = 1 - x2 I = ∫ x4 dx = 1 - x3 dx = ...FUNZIONA MALE! INSTABILESTABILE ... adesso confronto...Il problema di cancellazione abolbica è null...quando abbiamo più negative, non è, non nel caso di titolo che deriva
Esercizio 1
1999.9999 999.01 Δ 10 B = -10.001 Problema calcolare l'inverso di A: A -1 non è a B = (A - 1) -1 → il PROBLEMA MAL CONDIZIONATO
11/03/23 P(Z) = 20Cz (x-5)z z=1,2,3,...,20 g(x) = P(x) + un piccolo errore = f(x) = 6 * 10 -23 * ...pf cit di Z de (DGP) sono molto diversi.
Conditions
D1. Come riconosco quanto mal condizionato è questo polinomio P(x)? x - x0=0 z=∞ x + x0 = √2 -2 -x0 = ∞
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.