• Non ci sono risultati.

b ∈ R n vettore termine noto.

N/A
N/A
Protected

Academic year: 2021

Condividi "b ∈ R n vettore termine noto."

Copied!
9
0
0

Testo completo

(1)

b ∈ R n vettore termine noto.

Soluzione: x ∈ R n : Lx = b Metodo:

for i = 1 : n

x i = b i − P i −1 j =1 L ij x j

L ii end

Scrivere una function matlab con:

Input: L, b Output: x

Per determinare la dimensione di una matrice all’interno della function:

[ n , m ]= s i z e ( L ) % n=num righe, m=num colonne n = l e n g t h ( b ) % n=massima dimensione di b

©Paola Gervasio (UniBS) - Calcolo Scientifico 1

(2)

Esercizio 1

Risolvere il sistema Lx = b con il proprio programma.

L =

2 0 0 0

1 1 0 0

3 2 4 0

0 −1 1 3

 b =

 2 2 9 3

Verificare la correttezza del proprio programma confrontando con il risultato del comando \ di matlab.

Comando \ di matlab. Quando la matrice ` e triangolare, il

comando \ implementa il metodo di sostituzione in avanti

(forward) o all’indietro (backward).

(3)

b ∈ R n vettore termine noto.

Soluzione: x ∈ R n : Ux = b Metodo:

for i = n : −1 : 1 x i = b i − P n

j =i +1 u ij x j

u ii

end

Scrivere una function matlab con:

Input: U, b Output: x

Per determinare la dimensione di una matrice all’interno della function:

[ n , m ]= s i z e ( U ) % n=num righe, m=num colonne n = l e n g t h ( b ) % n=massima dimensione di b

©Paola Gervasio (UniBS) - Calcolo Scientifico 3

(4)

Esercizio 2

Risolvere il sistema Ux = b con il proprio programma.

U =

1 1 3 0

0 1 2 −1

0 0 4 1

0 0 0 3

 b =

 2 0 6 6

Verificare la correttezza del proprio programma confrontando con il risultato del comando \ di matlab.

Comando \ di matlab. Quando la matrice ` e triangolare, il

comando \ implementa il metodo di sostituzione in avanti

(forward) o all’indietro (backward).

(5)

for k = 1, . . . , n − 1 for i = k + 1, . . . , n

m ik = a (k) ik a (k) kk ;

for j = k + 1, . . . , n

a (k+1) ij = a (k) ij − m ik a (k) kj ; end

b i (k+1) = b i (k) − m ik b (k) k ; end

end

A (n) ` e una matrice triangolare superiore, la rinomino U, b (n) ` e un vettore colonna.

Quindi si risolve Ux = b (n) con il metodo delle sostituzioni all’indietro.

©Paola Gervasio (UniBS) - Calcolo Scientifico 5

(6)

Function meg.m per risolvere Ax = b

MEG + sostituzioni all’indietro Input: A, b;

Output: x;

for k = 1, . . . , n − 1 for i = k + 1, . . . , n

m

ik

= A

ik

A

kk

;

for j = k + 1, . . . , n A

ij

= A

ij

− m

ik

A

kj

; end

b

i

= b

i

− m

ik

b

k

; end

end

salvare il triangolo superiore di A in U ; risolvere Ux = b;

Osservazione. Il triangolo superiore di A (inclusa la diagonale principale) contiene la matrice A

(n)

del MEG. La salvo in U con il comando:

U = t r i u ( A );

(7)

Si vuole risolvere il sistema lineare Ax = b con

A =

10 4 3 −2

2 20 20 −1

3 −6 4 3

−3 0 3 1

b =

 5 24 13

−2

con il MEG + sostituzioni all’indietro.

Confrontare la propria soluzione con quella ottenuta con il comando \ di Matlab/Octave

©Paola Gervasio (UniBS) - Calcolo Scientifico 7

(8)

MEG con pivotazione per righe

for k = 1, . . . , n − 1

trovare r t.c. |A rk | = max k≤i ≤n |A ik |;

scambiare riga r di A con riga k di A;

scambiare b r con b k ; for i = k + 1, . . . , n

` ik = A ik /A kk ; for j = k + 1, . . . , n

A ij = A ij − ` ik A kj ; end

b i = b i − ` ik b k ; end

end U=triu(A);

risolvi Ux = b

Salvare in una nuova function meg pivot.m

k

r 0

k

(9)

Risolvere il sistema lineare Ax = b con

A =

1 1 3 2 2 2 3 6 4

 , b =

 5 6 13

con:

1

MEG senza pivotazione

2

MEG con pivotazione

3

backslash di matlab

Verificare che la matrice ` e non singolare, calcolandone il determinante.

Oss: il comando backslash di matlab esegue sempre la pivotazione

©Paola Gervasio (UniBS) - Calcolo Scientifico 9

Riferimenti

Documenti correlati

In caso affermativo, si calcoli esplicitamente la matrice inversa A −1 ; in caso negativo, si calcoli esplicitamente il nucleo della matrice A.. (c) Calcolare gli autovalori

Corso di Laurea in Informatica

[r]

[r]

Una matrice quadrata in cui tutti gli elementi con indici diversi sono nulli si dice

Si tratta di una piccola cappella all'interno del giardino della villa indicata come bene n.1 del lotto 1, censito al NCT foglio 48 particella 138 fabbricato rurale

Sono possibili diverse costruzioni del tetto come tetto piano, tetto piano ricoperto di verde, tetto a due falde, tetto a padiglione ecc.... Per la compatibilità elettromagnetica,

TENUTO CONTO delle verifiche effettuate dalla competente struttura regionale, che ha accertato ingenti danni alle produzioni agricole ed alle strutture aziendali causati dagli