Anteprima
Vedrai una selezione di 10 pagine su 126
Metodi numerici per l'ingegneria Pag. 1 Metodi numerici per l'ingegneria Pag. 2
Anteprima di 10 pagg. su 126.
Scarica il documento per vederlo tutto.
Metodi numerici per l'ingegneria Pag. 6
Anteprima di 10 pagg. su 126.
Scarica il documento per vederlo tutto.
Metodi numerici per l'ingegneria Pag. 11
Anteprima di 10 pagg. su 126.
Scarica il documento per vederlo tutto.
Metodi numerici per l'ingegneria Pag. 16
Anteprima di 10 pagg. su 126.
Scarica il documento per vederlo tutto.
Metodi numerici per l'ingegneria Pag. 21
Anteprima di 10 pagg. su 126.
Scarica il documento per vederlo tutto.
Metodi numerici per l'ingegneria Pag. 26
Anteprima di 10 pagg. su 126.
Scarica il documento per vederlo tutto.
Metodi numerici per l'ingegneria Pag. 31
Anteprima di 10 pagg. su 126.
Scarica il documento per vederlo tutto.
Metodi numerici per l'ingegneria Pag. 36
Anteprima di 10 pagg. su 126.
Scarica il documento per vederlo tutto.
Metodi numerici per l'ingegneria Pag. 41
1 su 126
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

Risoluzione di sistemi lineari

Anx=b con A∈ℝn*m

Dati un vettore b∈ℝn e una matrice A∈ℝm×n, si cerca X∈ℝn t.c. Ax=b.

CNS per avere un'unica soluzione → A non singolare, cioè det A ≠ 0 quindi A invertibile.

Soluzione: X=A-1b COSTOSO

Non si calcola se non è necessario, A-1 ma si cerca di risolvere il sistema. Questo è molto costoso. Nel caso di alcune matrici si hanno però dei costi contenuti -> Di seguito sono mostrate le soluzioni di tali matrici:

  • Matrice A diagonale
    • A =[ d11 0 ... ][ 0 d22 ... ][ ... dmm ]
    CNS ⇒ dii ≠ 0 ∀i

Sistema costituito da m equazioni indipendenti tra di loro:

  • xa = b1/d11
  • xm = bm/dmm
  • → xk = bk/dkk

Costo: m ops

  • A Triangolare superiore
    • A =[ u11 u12 u13 ... u1m ][ 0 u22 u23 ... u2m ][ 0 0 u33 ... ][ 0 0 0 umm ]
    CNS ⇒ uii ≠ 0 ∀i

Sistema

  • x1 = (b1 − ∑ mj=2 lijxj)/ u1m
  • ...
  • xm = bm/umm

  • Inversione
    • A =[ ℓ11 0 0 ... ][ ℓ2122 0 ... ][ ℓ313233 ... ][ ℓm1 ... ℓmm ]
    CNS ⇒ ℓii ≠ 0 ∀i

Sistema

  • x2 = bn/ln
  • x2 = (b2 − l21x1)/l22
  • xm = (bm − ∑ m-1j=1 lijxj) / lmm

Si parte dall'ultima equazione

Si parte dalla prima equazione.

ξk = bT

ξk = T

Il costo per il calcolo del generico termine k è dato da

Nel caso di una generica matrice A si potrebbe

metodo di Cramer

usare il metodo di Cramer che permette di trovare la

data da

dove Ai è ottenuta sostituendo alla colonna i il

vettore dei termini noti. Il costo per il calcolo

di un determinante è O(m!). In questo caso si

devono calcolare m+1 determinanti (A, A1, A2, ..., Am)

costo = (m+1)

Metodo molto costoso, usato solo per sistemi al massimo

4x4.

MEG

riduco la matrice A ad una matrice triangolare

Costo = O(m33) + M(m+1)

I metodi visti sopra servono per risolvere sistemi del tipo Ax = b evitando di calcolare esplicitamente A-1. Se si volesse calcolare esplicitamente i coefficienti di A-1, si potrebbe utilizzare tale metodo.

A-1 = [c(1) c(2) ... c(m)]

per definizione AA-1 = I

Sostituisco ad A-1 il vettore delle colonne e ottengo il seguente sistema:

  • Ac(n) = e(n)
  • Ac(2) = e(2)
  • Ac(m) = e(m)

con e(n) = [1 0 ... 0]Tcon e(2) = [0 1 0 ... 0]Tcon e(m) = [0 0 ... 1]T

Ogni equazione mi dà una colonna della matrice. Da una equazione all'altra varia solo il vettore dei termini noti, si può quindi usare MFG e calcolare un'unica volta le 2 matrici L e U, il costo di fattorizzazione si fa quindi una volta sola.

Costo = O(M33) ➔ M(m+1) ➔ Mper ogni equazione

M33 + M3 + M243 m3 + m2

Studio della stabilità del problema

Un problema è stabile o ben condizionato se a piccoli errori sui dati corrispondono piccoli errori sul risultato.Dato il problema Ax = b

I metodi iterativi necessitano di un test di arresto che serve per decidere quando fermare la successione e considerare abbastanza buono il risultato ottenuto. Ci sono diversi test:

  • test ideale: |x^(m) - x| < ε → Problema: x non è noto;
  • test sulle iterate: |x^(m) - x^(m+1)| <= εQuesto test va bene per metodi con convergenza rapida. In caso contrario si avrebbe uno scostamento tra le iterate troppo piccolo e il metodo rischierebbe di interrompersi troppo presto.
  • test sul residuo: ||b - Ax^(m)|| / ||b|| = ||A*e^(m)|| / ||b|| <= ε

Generalmente si usa il secondo metodo ad ogni iterazione e se il test ha successo si verifica un controllo col test sul residuo (che è più costoso).

Calcolo manuale N O(m²): Prodotto matrice vettore N O(m²) (costo per ogni iterazione = O(m²))

Conviene utilizzare un metodo iterativo invece di uno diretto se il numero di iterazioni è << M/3.

  • Sistema sottodimensionatoAx = b con b ∈ Rᵐ, A ∈ Rᵐˣⁿ con m < n. In questo caso è necessario fissare a priori m-n incognite e poi risolvere normalmente il sistema.
  • Sistema sovradimensionatoAx = b con b ∈ Rᵐ, A ∈ Rᵐˣⁿ con m > n. Un sistema di questo tipo può avere uno, nessuna o infinite soluzioni a seconda di A e b. Sia A ∈ Rᵐˣⁿ, m > n, se A ha rango pieno, il sistema normale ha un'unica soluzione detta soluzione del sistema nel senso dei minimi quadrati.

Consideriamo il sistema normale Aᴵ A x = Aᴵ b

Si ottiene quindi il sistema

AAn = E

con

  • Q = [a1, ..., aN]T
  • E = [b1, ..., bn] con bi = ∫ab f(x) φi(x) dx
  • A = [ai,j] con ai,j = ∫ab φi(x) φj(x) dx

Ma siccome φi(x) e φj(x) sono ortogonali si ha:

ai,j = { 0 se i ≠ j∫ab φi²(x) dx se j = i

Sistema:

  • ab φ1²(x) dx
  • ...
  • ab φN²(x) dx

Siccome AK è diagonale, il sistema è costituito da N equazioni indipendenti che si risolvono nel seguente modo:

aK = ∫ab f(x) φK(x) dx / ∫ab φK2(x) dx = (f, φK)L²(a,b) / ‖φK‖²L²(a,b)

detti coefficienti da Fourier di f

Se {φK} è una base ortonormale (‖φK‖ = 1), allora ak = (f, φK) e valgono le seguenti proprietà:

→ fN è la proiezione sullo spazio S di f cioè si ha:(f - fN, V) = 0 ∀ V ∈ S.

Se \(d^k = d^{opt}\), l'espressione dell'errore è:

E \((x^{(m+1)}) = (1 - \gamma_k) E (x^{(m)})

Metodo del gradiente

Si prende come direzione di discesa il residuo:

\(\rho^{(m)} = y_c^{(m)} - \nabla F (x^{(m)})\)

L'espressione dell'errore è:

E \((x^{(m+1)}) = \left[ \frac{\kappa(A)-1}{\kappa(A)+1} \right]^2 E (x^{(m)})

Se \(A\) è mal condizionata \((\kappa(A) \gg 1)\) la convergenza è molto lenta.

Costo per ogni iterazione: \(O(m^2)\)

Metodo del gradiente coniugato

IDEA: Se \(d^k = d^{opt}\) allora \((x^{(m)}, \rho^{(m-1)}) = 0\). Dato \(\rho^{(m-1)}\) si cerca \(\rho^{(m)}\) nel piano

\(span\{x^{(m)}, \rho^{(m-1)}\}\).

\(\rho^{(m)} = y_c^{(m)} + \beta_k \rho^{(m-1)}\)

con \(\beta_n\) da scegliere in modo che la riduzione dell'errore sia massima. Si trova che:

\(\beta_k = - \frac{(A \rho^{(m-1)}, y_c^{(m)})}{(A \rho^{(m-1)}, \rho^{(m-1)})}\)

L'espressione dell'errore è:

E \([x^{(m)}] \leq 4 \left( \frac{\sqrt{\kappa(A)} - 1}{\sqrt{\kappa(A)} + 1} \right)^2 E (x^{(m-1)})

Il numero di iterazioni necessarie per ridurre di \(\epsilon\) l'errore iniziale è proporzionale a \(\sqrt{\kappa(A)}\), mentre

nel metodo del gradiente a \(\kappa(A)\).

Dettagli
Publisher
A.A. 2008-2009
126 pagine
SSD Scienze matematiche e informatiche MAT/05 Analisi matematica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher __Paola8__ di informazioni apprese con la frequenza delle lezioni di metodi numrici per l'ingegneria e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Pavia o del prof Marini Donatella.