Eliminazione di Gauss
Eliminazione di Gauss: a11 a12 ... a1m b1 a21 a22 ... a2m b2 ... am1 am2 ... amm bm
i = righe j = colonne aij(1) = aij(0) - li1 aij(0) (i = 2,3,...,m), (j = 1,2,...,m) li1 = ai1(0) / a11(0) bi(1) = bi(0) - li1 b1(0) aij(k) = aij(k-1) - lik akj(k-1) (i = k+1,...,m) (j = k,m,...,m) bi(k) = bi(k-1) - lik bk(k-1)
Moltiplicatori di Gauss
lin = ain(k-1) / akk(k-1) A x = b ⇒ R x = C
Eliminazione di Gauss: a11 a12 ... a1m | b1 a21 a22 ... a2m | b2 ... am1 am2 ... amm | bm
i = righe j = colonne
Si procede con l’eliminazione finché sia ottenuta una matrice triangolare:
aij(1) = aij(0) - li1 a1j(0) (i = 2,3,...,m), (j = 1,2,...,m) li1 = ai1(0) / a11(0) bi(1) = bi(0) - li1 b1(0)
Si procede con l'eliminazione finché si ottiene una matrice triangolare.
In generale:
aij(k) = aij(k-1) - lik akj(k-1) (i = k+1, ..., m) (j = k, ..., m) bi(k) = bi(k-1) - lik bk(k-1)
Moltiplicatori di Gauss
lik = aik(k-1) / akk(k-1)
All’interazione k = m-1 → MATRICE TRIANGOLARE
Mk MATRICE TRASFORMATA DI GAUSS es. k=1
M4 = (matrice) A(1) = M4 A0 = (matrice) A(k) = Mk A(k-1)
Elimino la k-esima colonna tranne dalla 1a alla i-esima riga (i=k,...,n)
R = A(n-1) = Mn-1 A(n-2) = Mn-1... M4 A0
M = Mn-1... M2 M1
NA = R A = M-1R = LRA
A = [ a11 a12 a13 a14 a21 a22 a23 a24 a31 a32 a33 a34 a41 a42 a43 a44 ]
k = 2
li2 = Ai2(1)⁄A22(1) i = k + 1, … i = 3, 4 l32 = A32(1)⁄A22(1) l42 = A42(1)⁄A22(1)
↴ Mk = [ 1 0 0 0 0 1 0 0 -l32 1 0 -l42 0 1]
Matrice trasformata di Gauss
A(k) = Mk A(0) A(1) = M1 A(0) = [ a11(1) a22(1) a32(1) a42(1)]
Interpolazione
Convertire un insieme di punti in una funzione continua.
Procedura: impongo alla funzione f(x;P) il passaggio per i punti da interpolare.
Ottengo un sistema di eq. risolto risp. a P: ∫(xi;P) = yi ∫(xm;P) = ym
Scelta della funzione ∫(x;P) fatta per:
- Minimizzare le oscillazioni;
- Migliorare la qualità di approssimazione;
- Semplificare il calcolo di P.
Interpolazione polinomiale di Vandermonde
Polinomio grado N-1: ∫(x;P) = ∑k=1N Pk xk-1
→ [ Δ xk-1 xN-4 ... xN-4 ] [ P1 y1 ] [ Pn ... yn ]
Semplice ed efficiente e usato raramente perché il sistema lineare è mal condizionato.
Interpolazione polinomiale di Newton
Polinomio grado N-1: ∫(x;P) ∑k=1N Pk ∏j=1k-1 ( x - xj )
Si ottiene un sistema lineare triangolare buono: → [ 1 0 0 0 0 ] [ 1 ∏j=lk-1 (x1-xj) 0 0 ] [ P4 y4 ] [ 1 ∏i=1k-4 (xN-xj) ] [ Pk yk ]
Risolve il problema relativo al carattere e consente interpolazione.
Interpolazione polinomiale di Lagrange
Polinomio grado N-1: g(x,P) = ∑k=1N Pk ∏j=1, j≠kN [(x-xj) / (xk-xj)]
La matrice dei coefficienti è la matrice identità => P=4
Elimina il calcolo di P e risolve il problema nel calcolarlo.
Consente di generare una funzione meno sensibile al problema di precisione di calcolo dei computer.
Interpolazione razionale propria
Rapporto tra 2 polinomi: uno di grado P e l'altro Q t.c. N=P+Q+1 β(x,P) = [∑k=0P+1 Pk xk-1] / [1 + ∑j=2Q+1 Pj xj-1 - 1]
Sistema non lineare: - Matrice complessa da risolvere - I polinomi possono essere Newton o Lagrange - Adatto per funzioni con andamenti asintotici - Approssima meglio, a parità di punti, rispetto un polinomio
Interpolazione a tratti
Si divide in H sub-set ciascuno con Nsub punti Si sceglie una funzione per ogni intervallo e M valori lineari Si cerca di imporre la continuità delle derivate delle interpolanti di sub-set adiacenti
Interpolazione con le spline di cubiche
Polinomio grado 3: funi(pmax) = ∑k=04 pmax (xmax - xp,max)k-1
Ogni set contiene solo 3 punti
Imporre il passaggio per i 2 punti Imporre la continuità delle derivate nel secondo punto
Molto efficace e molto apprezzato per disegnare linee curve in molti programmi di disegno (Es. tool AutoCAD)
Interpolare molte funzioni con 4 o più di 2 punti
Azzeramento
Metodo iterativo - Valori opposti ai limiti dell'intervallo, funzione continua, ∃ 1 soluzione o se ∃ più di una soluzione ne basta 1 - Se intervallo sconosciuto, funzione continua - Intervallo e funzione monotona non verificati: - più soluzioni; - discontinuità; - φ in più punti;
Sostituzione e trasforma un'espressione nella forma: ti = g1(ti) → ti+1 = g(ti) ti: g(t∞) + t∞ + t2 = g(t∞) + t∞ → t3 = g(t2) = t∞ finora convergenza
- Utile per calcoli manuali;
- Può divergere anche per con funzione semplici;
- Se converge, relativamente converge lentamente
- Necessario fare degli studi per arrivare ad una soluzione di convergenza.
Bolzano
Condizioni necessarie:
- Segni opposti ai limiti (f(A); f(B))
- Funzione continua
- ∃ almeno 1 soluzione
tM = tA, tA+tB/2 Se A seguo di Ym = seguo YA → tM sostituisce tA Se φ ≠ u " → " → tM " tB
Si itera fino alla soluzione.
- Converto di un numero esteticamente l'intervallo originale conservando le condizioni necessarie. √1; interallo invisibile ⋅ LM = LM/2m
Pro:
- Converge sempre a 1 soluzione
- N° Iterazioni conosciuto a priori in base alla precisione richiesta
- Minimizza il massimo intervallo di incertezza
Contro:
- Non dice nulla la funzione
- Può essere penalizzante per funzioni smooth
- Convergenza lineare
Newton
Si usa la tangente alla curva nel punto i
Si converge, la convergenza quadratica.
Secanti
Come Newton solo che si approssima la derivata prima come segmento che collega (ti, 4i) a (ti+1, 4i+1-D)
ti+1 = ti - C'è bisogno di 2 punti per iniziare l'algoritmo
Derivata prima non è richiesta.
Regula Falsa
Come secanti solo che usa sempre gli esterni dell'intervallo di incertezza
Pro:
- La nuova iterazione cade all'interno dell'intervallo
- La convergenza è assicurata
Contro:
- Convergenza più lenta rispetto al metodo delle secanti
Ottimizzazione
Trovare minimo o massimo di una funzione Unimodale se c'è 1 solo punto di minimo - f non deve essere necessariamente continua e derivabile
La distanza per garantire l'unimodalità
Metodi
1ª classificazione
- Confronto: si confronta i valori della funzione. Serve per ridurre il valore dell'intervallo, e confrontare diverse strategie per trovare la migliore. È necessario conoscere l'intervallo iniziale ed è necessario conoscere il n° di funzioni da valutare.
- Approssimazione: si approssima la funzione ad altro più semplice per il calcolo del min/max.
2ª classificazione
- Sequenziali: ogni valutazione permette di decidere quale misura successiva fare.
- Paralleli: più valutazioni prima di decidere una strategia.
Strategia attuale porta al Metodo Fibonacci
Per ridurre l'intervallo non sezioni, si usano 2 punti (valori di funzione) e 1 dei 2 punti sarà il limite del nuovo intervallo. Serve solo altro punto per trovare un nuovo intervallo. Dopo N-1 valori, l'intervallo è e deve avere posizionato l'ultimo valore di funzione. Gli ultimi punti devono essere simmetrici rispetto al centro dell'intervallo e con una distanza minima.
In generale e di Fibonacci con j = N-4
- t1 e t2 sono note.
- Si dà un valore al primo tentativo a N e si calcola LN come confrontato con LF radianta;
- Si sceglie N ricordo: LS ≤ LF ≤ tN tN = t0 - t1
Se t3 A; t3] β(t3) < β(t) Se t4 3; t4] β(t4) > β(t) Se t5 5; t6] β(t5) = β(t)
Pro:
- Garanzia convergente
- Minimizzare il minimo intervallo di incertezza
- Conoscere a priori o dei modi iterazioni per una det. accurata dell'accuratezza
Contro:
- Ci sono condizioni da rispettare
- Si sceglie la peggiore funzione
- Non è possibile conferire con altre alternative efficienti
- Non puoi smettere subito quando è utile
Golden Section
Sfrutta la posizione del punto dentro al nuovo intervallo con un marcatore iterativa.
Ogni nuovo intervallo contiene 2 punti della precedente iterazione.
Affinché il nuovo punto sia in posizione ottimale occorre che i 2 punti interni siano simmetrici rispetto al centro:
ln = Li+1 + Li-1 Si impone che la velocità di riduzione degli intervalli sia costante: Li-1 = Li Li+1 = τ τ = 1,6180
Metodo
- Identifica l'intervallo [ti; t4] = L4
- Calcola t2 = L4 / τ
- Posiziona tA = E - L2 t2 = tA t3 t2
- Restringe l'intervallo eliminando uno dei + più quantità
- Calcolo il nuovo intervallo
- Si itera la procedura
Rapporto di riduzione dell'intervallo:
d = LN / Lo = 1 / τN-d
Pro:
- Convergenza garantita
- Mostra a priori se il n° di iterazioni e l'accuratezza
- Può essere fermato in qualsiasi momento
Contro:
- Sempre stessa efficienza per qualsiasi funzione
- Funziona per funzioni complesse, ha problemi per funzioni semplici
- Valore intervallo richiesto
Integrazione
f(x) continua e valori finiti nell'intervallo di integrazione.
Serve quando:
- Impossibile ricavare l'integrale analiticamente
- L'integrale è difficile da calcolare
Come si procede
- Si divide l'intervallo in N intervallini e si fa una interpolazione a tratti
- Si calcolano gli integrali delle interpolate e si sommano per ottenere un'approssimazione dell'integrale
La scelta di fint(x) influisce molto l'efficacia del metodo:
- La primitiva deve essere facile da calcolare;
- L'approssimazione è elevata;
- Calcolo parametri interpolazione è agevole.
Bézout
finti(x) è una retta: I(x0,x1)fch = h⁄2 [ ∫0 f0 dN + ∑N-1k=1 fk ]
h = passo d'integrazione
Simpson
finti(x) è un polinomio di grado 2 generico Ii = ∫ii+1 fint(x) dx = h⁄3 [ fiA + 4fiC + fiB ]
h = xB - xA⁄2
xi = xi* + h
Lo Sommando: singoli integrali:
I(xA,xB)fch = h⁄3 [ ∫0 + ∫N + ∑N=2k=0 ( 2 ∫2k(cc) + 4 ∫(2k+1)(ck+1) ) ]
Sotto xA e xB2 xC
Bernaut e Simpson sono formule di Newton-Cotes.
In questa formula fi(x) è un polinomio.
Il polinomio deve essere massimo di grado n perché ciò non garantisce una buona qualità di approssimazione.
Formulo di Gauss usare gli stessi punti di supporto di Newton-Cotes non approssimano meglio l'integrale.
Sono anch'esse polinomi di grado basso.
Si ha una maggior precisione a parità di N e grado delle fi(x) rispetto a Newton-Cotes.
Sistemi ODE
Sono sistemi di eq. differenziali. Ogni eq. diff. è esplicita sulla derivata di una delle variabili.
Deve essere accoppiato ad un set di condizioni iniziali.
- Autonome: tutte le funzioni fi non dipendono dal tempo. Se così non fosse si può ricondurre ad un sistema autonomo aggiungendo una variabile e un ulteriore eq. diff.
{ dy4/dt = f4(u4, ... un, t)}
{ dyn+1/dt = 1}
{ yn+1(t0) = t0}
- Integrazione: per risolvere sistemi di eq. diff. non lineari - calcolo autovalori/autovettori è difficile. Come in presenza - soluzione di un sottosistema di sistemi di eq. algebriche.
Sistemi algebrici sono lineari/non lineari se il sistema ODE è lineare/non lineare
3 algoritmi
- Euler
- Runge-Kutta
- Multi-step
Euler
Forward sostituisce la curva con segmenti di rette tangenti a quella curva.
dyi/dt |tm = fi(um) = (yi,m+1 - yi,m)/h, h = distanza tra 2 segmenti (passo nel tempo).
Si ottiene un sistema di eq. lineari nella incognita yi,m+1.
ym+1 = ym + h*f(ym) h = (tn - t0)/n
es. y1 = y0 + h*f(y0) → y4 = y4 + h*f(y4)