Esercitazione 1-I parte

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Esercitazione 1-I parte"

Transcript

1 Esercitazione 1-I parte Argomento: Sistemi triangolari Scopo: Implementare il metodo di sostituzione all indietro per la risoluzione di sistemi triangolari superiori. function x=indietro(a,b) Sintassi x=indietro(a,b) Risolve un sistema triangolare superiore utilizzando il metodo di sostituzione all indietro Parametri di input: A = Matrice triangolare superiore b = Vettore colonna Parametri di output: x = Vettore soluzione n=length(b); x=zeros(n,1); if abs(a(n,n))<eps error( La matrice A e singolare ); x(n)=b(n)/a(n,n); for k=n-1:-1:1 x(k)=b(k); for i=k+1:n x(k)=x(k)-a(k,i)*x(i); if abs(a(k,k))<eps error( La matrice A e singolare ); else x(k)=x(k)/a(k,k); 1

2 Esercitazione 1-II parte Argomento: Il metodo di eliminazione di Gauss Scopo: Risoluzione di un sistema lineare Ax = b utilizzando il metodo di eliminazione di Gauss senza strategie di pivoting. function x=gauss(a,b); Sintassi x=gauss(a,b) Risolve un sistema lineare utilizzando il metodo di eliminazione di Gauss Parametri di input: A = Matrice dei coefficienti b = Vettore dei termini noti Parametri di output: x = Vettore soluzione [m, n]=size(a); if m =n if length(b) =n for k=1:n if abs(a(k,k))<eps error( Elemento pivotale nullo ); for i=k+1:n A(i,k)=A(i,k)/A(k,k); for j=k+1:n A(i,j)=A(i,j)-A(k,j)*A(i,k); b(i)=b(i)-b(k)*a(i,k); 2

3 x=indietro(a,b); Esempi di applicazione: Per verificare il funzionamento dell algoritmo si può applicare ad un sistema lineare avente una matrice dei coefficienti a predominanza diagonale per colonne. >> A=[ ; ; ; ] >> b=[1;2;3;4] >> x=gauss(a,b) Per verificare invece che il metodo di Gauss non funziona se la matrice dei coefficienti ammette un minore principale uguale a zero si può applicarlo in questa circostanza e verificare che la routine appena scritta segnala tale circostanza. >> A=[ ; ; ; ; ] >> b=[1;2;3;4;5] >> x=gauss(a,b) Ci sono casi in cui il metodo di eliminazione di Gauss può fornire una soluzione del sistema molto diversa da quella teorica. Vediamo il seguente esempio: scegliamo come matrice dei coefficienti una cosiddetta matrice di Hilbert, definita nel seguente modo: h ij = 1 i+j 1 i,j = 1,...,n. Per esempio se n = 4 la matrice sarebbe 1 1/2 1/3 1/4 1/2 1/3 1/4 1/5 H = 1/3 1/4 1/5 1/6. 1/4 1/5 1/6 1/7 Proviamo ora ad applicare il metodo di Gauss ad un sistema di dimensione 15 avente come matrice dei coefficienti quella di Hilbert e come soluzione il vettore avente tutte le componenti uguali a 1 e confrontiamo la soluzione che ci fornisce il metodo di Gauss con quella teorica. 3

4 >> clear >> format long e >> n=15; >> A=hilb(n); >> x=ones(n,1); >> b=a*x; >> y=gauss(a,b) >> norm(x-y, inf ) Le prime due istruzioni servono rispettivamente a cancellare tutte le variabili presenti nell area di lavoro del MatLab e a scrivere i valori delle variabili in formato esponenziale lungo, cioè con 15 cifre decimali. La funzione hilb(n) assegna ad una variabile la matrice di Hilbert della dimensione indicata. Il vettore b viene assegnato in modo tale che la soluzione del sistema, cioè il vettore colonna x, sia nota. Nella variabile y viene memorizzata la soluzione del sistema calcolata utilizzando il metodo di Gauss. L ultima istruzione serve a dare una misura della differenza tra la soluzione teorica del sistema e quella calcolata utilizzando la funzione norm che, in questo caso, misura la norma infinito della differenza tra i due vettori, cioè il massimo valore assoluto del vettore differenza x-y. Possibili modifiche: La routine appena descritta segnala errore non appena viene incontrato un elemento pivotale molto piccolo in modulo e non utlizza alcuna strategia di pivoting. Si potrebbe inserire la ricerca dell elemento di massimo modulo sulla k-esima colonna della matrice e scambiando opportunamente due righe di A e i due corrispondenti elementi di b. 4

5 Esercitazione 1-III parte Argomento: Il metodo di eliminazione di Gauss con pivot parziale Scopo: Risoluzione di un sistema lineare utilizzando il metodo di eliminazione di Gauss con strategia di pivoting parziale. function x=gausspiv(a,b); Sintassi x=gausspiv(a,b) Risolve un sistema lineare utilizzando il metodo di eliminazione di Gauss con pivoting parziale Parametri di input: A = Matrice dei coefficienti b = Vettore dei termini noti Parametri di output: x = Vettore soluzione [m, n]=size(a); if m =n if length(b) =n for k=1:n [pivot indice]=max(abs(a(k:n,k))); riga=indice+k-1; if riga =k A([riga k],:)=a([k riga],:); b([riga k])=b([k riga]); if abs(a(k,k))<eps error( Elemento pivotale nullo ); for i=k+1:n 5

6 A(i,k)=A(i,k)/A(k,k); for j=k+1:n A(i,j)=A(i,j)-A(k,j)*A(i,k); b(i)=b(i)-b(k)*a(i,k); x=indietro(a,b); Esempi di applicazione: Si può applicare la funzione ad un sistema lineare la cui matrice dei coefficienti ha un minore principale uguale a zero e verificare che in questo caso essa fornisce la soluzione del sistema. >> A=[ ; ; ; ; ] >> b=[1;2;3;4;5] >> x=gausspiv(a,b) 6

Sistemi lineari. 2x 1 + x 2 x 3 = 2 x 1 x 2 + x 3 = 1 x 1 + 3x 2 2x 3 = 0. x 1 x 2 x 3

Sistemi lineari. 2x 1 + x 2 x 3 = 2 x 1 x 2 + x 3 = 1 x 1 + 3x 2 2x 3 = 0. x 1 x 2 x 3 Sistemi lineari 2x 1 + x 2 x 3 = 2 x 1 x 2 + x 3 = 1 x 1 + 3x 2 2x 3 = 0 2 1 1 1 1 1 1 3 2 x 1 x 2 x 3 = 2 1 0 n j=1 a i,jx j = b i, i = 1,, n Ax = b A = (a i,j ) R n n matrice invertibile (det(a) 0) b

Dettagli

2. Risolvere con il metodo di eliminazione di Gauss con pivoting parziale il seguente sistema lineare:

2. Risolvere con il metodo di eliminazione di Gauss con pivoting parziale il seguente sistema lineare: Esercizi sui metodi diretti per la risoluzione di sistemi lineari 1. Data la matrice 1 0 2 1 3 1 5 2 1 determinare la sua fattorizzazione P LR. Risolvere il sistema Ax = b con b = (3, 5, 6) T mediante

Dettagli

Corso di Matematica per la Chimica

Corso di Matematica per la Chimica Dott.ssa Maria Carmela De Bonis a.a. 2013-14 Pivoting e stabilità Se la matrice A non appartiene a nessuna delle categorie precedenti può accadere che al k esimo passo risulti a (k) k,k = 0, e quindi il

Dettagli

Metodi diretti: eliminazione gaussiana

Metodi diretti: eliminazione gaussiana Calcolo numerico 08/09 p. 1/1 SISTEMI LINEARI Metodi diretti: eliminazione gaussiana Calcolo numerico 08/09 p. 2/1 Sistemi lineari Ax = b, A R n n, b R n b INPUT x OUTPUT A relazione funzionale non ambigua

Dettagli

Esercizi su algebra lineare, fattorizzazione LU e risoluzione di sistemi lineari

Esercizi su algebra lineare, fattorizzazione LU e risoluzione di sistemi lineari Esercizi su algebra lineare, fattorizzazione LU e risoluzione di sistemi lineari 4 maggio Nota: gli esercizi più impegnativi sono contrassegnati dal simbolo ( ) Esercizio Siano 3 6 8 6 4 3 3 ) determinare

Dettagli

Sistemi lineari. Lucia Gastaldi. DICATAM - Sez. di Matematica,

Sistemi lineari. Lucia Gastaldi. DICATAM - Sez. di Matematica, Sistemi lineari Lucia Gastaldi DICATAM - Sez. di Matematica, http://www.ing.unibs.it/gastaldi/ Indice 1 Risoluzione di sistemi lineari Risoluzione di sistemi lineari in Matlab Metodi di risoluzione Fattorizzazione

Dettagli

Laboratorio di Calcolo Numerico Laboratorio 11: Metodi diretti per la soluzione di sistemi lineari

Laboratorio di Calcolo Numerico Laboratorio 11: Metodi diretti per la soluzione di sistemi lineari Laboratorio di Calcolo Numerico Laboratorio 11: Metodi diretti per la soluzione di sistemi lineari Claudia Zoccarato E-mail: [email protected] Dispense: Moodle Dipartimento ICEA 17 Maggio 2017

Dettagli

Sistemi lineari. Lorenzo Pareschi. Dipartimento di Matematica & Facoltá di Architettura Universitá di Ferrara

Sistemi lineari. Lorenzo Pareschi. Dipartimento di Matematica & Facoltá di Architettura Universitá di Ferrara Sistemi lineari Lorenzo Pareschi Dipartimento di Matematica & Facoltá di Architettura Universitá di Ferrara http://utenti.unife.it/lorenzo.pareschi/ [email protected] Lorenzo Pareschi (Univ. Ferrara)

Dettagli

Per esempio, una matrice 4 4 triangolare alta ha la forma. 0 a. mentre una matrice di ordine 4 triangolare bassa è del tipo

Per esempio, una matrice 4 4 triangolare alta ha la forma. 0 a. mentre una matrice di ordine 4 triangolare bassa è del tipo Matrici triangolari Prima di esporre il metodo LU per la risoluzione di sistemi lineari, introduciamo la nozione di matrice triangolare Ci limiteremo al caso di matrici quadrate anche se l estensione a

Dettagli

RISOLUZIONE DI SISTEMI LINEARI

RISOLUZIONE DI SISTEMI LINEARI RISOLUZIONE DI SISTEMI LINEARI Algebra lineare numerica 1 La risoluzione di un sistema lineare è il nucleo principale del processo di risoluzione di circa il 70% di tutti i problemi reali Per la risoluzione

Dettagli

Programmare con MATLAB c Parte 5 Cicli: for e while

Programmare con MATLAB c Parte 5 Cicli: for e while Programmare con MATLAB c Parte 5 Cicli: for e while Lucia Gastaldi DICATAM - Sezione di Matematica, http://lucia-gastaldi.unibs.it Indice 1 La notazione due punti 2 Ciclo: for 3 Ciclo con controllo: while

Dettagli

Introduzione al MATLAB c Parte 3 Script e function

Introduzione al MATLAB c Parte 3 Script e function Introduzione al MATLAB c Parte 3 Script e function Lucia Gastaldi DICATAM - Sezione di Matematica, http://lucia-gastaldi.unibs.it Indice 1 M-file di tipo Script e Function Script Function 2 Gestione dell

Dettagli

Corso di Calcolo Numerico

Corso di Calcolo Numerico Corso di Calcolo Numerico Dottssa MC De Bonis Università degli Studi della Basilicata, Potenza Facoltà di Ingegneria Corso di Laurea in Ingegneria Meccanica Corso di Calcolo Numerico - Dottssa MC De Bonis

Dettagli

Argomento 13 Sistemi lineari

Argomento 13 Sistemi lineari Sistemi lineari: definizioni Argomento Sistemi lineari Un equazione nelle n incognite x,, x n della forma c x + + c n x n = b ove c,, c n sono numeri reali (detti coefficienti) e b è un numero reale (detto

Dettagli

Esercitazione 5: Sistemi a risoluzione immediata.

Esercitazione 5: Sistemi a risoluzione immediata. Esercitazione 5: Sistemi a risoluzione immediata. Ipotesi: Supponiamo le matrici non singolari. Nota: Per verificare che si ha risolto correttamente il sistema lineare Ax = b basta calcolare la norma del

Dettagli

Motivazioni. Sistemi lineari. Obiettivo. Il problema

Motivazioni. Sistemi lineari. Obiettivo. Il problema Motivazioni Sistemi lineari Metodo di eliminazione di Gauss Molti problemi si possono rappresentare mediante un sistema lineare La soluzione di un sistema lineare costituisce un sottoproblema di moltissime

Dettagli

1. Si scriva una function Matlab che implementa il seguente metodo di punto fisso

1. Si scriva una function Matlab che implementa il seguente metodo di punto fisso Domanda 1 1. Si scriva una function Matlab che implementa il seguente metodo di punto fisso x n+1 = x n f(x n), n = 0, 1, 2,... K dove x 0 è il punto iniziale, f(x) = x 3 cos(x) e K è una costante assegnata.

Dettagli

MATLAB c. Lucia Gastaldi Dipartimento di Matematica Lezione 4 (15 ottobre 2003)

MATLAB c. Lucia Gastaldi Dipartimento di Matematica  Lezione 4 (15 ottobre 2003) MATLAB c M-file. Lucia Gastaldi Dipartimento di Matematica http://dm.ing.unibs.it/gastaldi/ Lezione 4 (15 ottobre 2003) Esercizio Problema 3: la successione di funzioni f n (x) = (x 2 x) n per 0 x 1 è

Dettagli

Sistemi lineari - Parte Seconda - Esercizi

Sistemi lineari - Parte Seconda - Esercizi Sistemi lineari - Parte Seconda - Esercizi Terminologia Operazioni elementari sulle righe. Equivalenza per righe. Riduzione a scala per righe. Rango di una matrice. Forma canonica per righe. Eliminazione

Dettagli

MATLAB:Condizionamento Sistemi Lineari.

MATLAB:Condizionamento Sistemi Lineari. 1 Francesca Mazzia Dipartimento Interuniversitario di Matematica Università di Bari MATLAB:Condizionamento Sistemi Lineari. Innanzitutto vediamo qual è la funzione Matlab che ci permette di calcolare il

Dettagli

Esercitazione 4: Vettori e Matrici

Esercitazione 4: Vettori e Matrici Esercitazione 4: Vettori e Matrici Richiami di teoria: Norme di vettore Principali norme di vettore:. x = n i= x i 2. x 2 = n i= x i 2 3. x = max i n x i Ad esempio dato il vettore x = (, 2, 3, 4) abbiamo.

Dettagli

Trasformazione elementari di Givens

Trasformazione elementari di Givens Trasformazione elementari di Givens dove Osservazione Esprime una rotazione di ampiezza ϕ Esempio (n=2) Osservazione Rotazione nel senso positivo degli archi In generale Il prodotto matrice vettore equivale

Dettagli

ALGEBRA LINEARE PARTE III

ALGEBRA LINEARE PARTE III DIEM sez Matematica Finanziaria Università degli studi di Genova Dicembre 200 Indice PREMESSA 2 GENERALITA 2 RAPPRESENTAZIONE DI UN SISTEMA LINEARE IN FORMA MATRI- CIALE 2 3 SOLUZIONE DI SISTEMI LINEARI

Dettagli

Sistemi di equazioni lineari

Sistemi di equazioni lineari Sistemi di equazioni lineari Siano X 1,, X n indeterminate Un equazione lineare (o di primo grado) nelle incognite X 1,, X n a coefficienti nel campo K è della forma a 1 X 1 + + a n X n = b, a i, b K,

Dettagli

Problema. Sistemi lineari. Problema. Problema. Quali sono i potenziali in ogni nodo? Leggi di Kirkoff e di Ohm:

Problema. Sistemi lineari. Problema. Problema. Quali sono i potenziali in ogni nodo? Leggi di Kirkoff e di Ohm: Problema 4 Ω 3 3 Ω 2 2 Ω 40 V Sistemi lineari 2 Ω Ω 2 Ω Ω 5 6 7 8 Ω 4 Ω Ω 0 V Quali sono i potenziali in ogni nodo? 2 4 Ω Problema 3 3 Ω 2 2 Ω 40 V 4 Ω Problema 3 3 Ω 2 2 Ω 40 V 2 Ω Ω 2 Ω Ω 2 Ω Ω 2 Ω Ω

Dettagli

Elementi di Algebra Lineare Matrici e Sistemi di Equazioni Lineari

Elementi di Algebra Lineare Matrici e Sistemi di Equazioni Lineari Elementi di Algebra Lineare Matrici e Sistemi di Equazioni Lineari Antonio Lanteri e Cristina Turrini UNIMI - 2016/2017 Antonio Lanteri e Cristina Turrini (UNIMI - 2016/2017 Elementi di Algebra Lineare

Dettagli

Esercitazione di Calcolo Numerico 1 22 Aprile Determinare la fattorizzazione LU della matrice a 1 1 A = 3a 2 a 2a a a 2 A =

Esercitazione di Calcolo Numerico 1 22 Aprile Determinare la fattorizzazione LU della matrice a 1 1 A = 3a 2 a 2a a a 2 A = Esercitazione di Calcolo Numerico 22 Aprile 29. Determinare la fattorizzazione LU della matrice a A = 3a 2 a 2a a a 2 ed utilizzarla per calcolare il det(a). 2. Calcolare il determinante della matrice

Dettagli

Progetto Matlab N 2. Calcolo Numerico 6 CFU. Corso di Laurea in Ingegneria delle Comunicazioni 31/05/2014

Progetto Matlab N 2. Calcolo Numerico 6 CFU. Corso di Laurea in Ingegneria delle Comunicazioni 31/05/2014 Progetto Matlab N 2 Calcolo Numerico 6 CFU Corso di Laurea in Ingegneria delle Comunicazioni 31/05/2014 Procedimento 1. Scrivere una function che implementi il prodotto matrice-vettore AX con A matrice

Dettagli

Motivazione: Come si fa? Matrici simmetriche. Fattorizzazioni di matrici speciali

Motivazione: Come si fa? Matrici simmetriche. Fattorizzazioni di matrici speciali Motivazione: Fattorizzazioni di matrici speciali Diminuire la complessità computazionale = evitare operazioni inutili = risparmiare tempo di calcolo Diminuire l occupazione di memoria Come si fa? Si tiene

Dettagli

Geometria BIAR Esercizi 2

Geometria BIAR Esercizi 2 Geometria BIAR 0- Esercizi Esercizio. a Si consideri il generico vettore v b R c (a) Si trovi un vettore riga x (x, y, z) tale che x v a (b) Si trovi un vettore riga x (x, y, z) tale che x v kb (c) Si

Dettagli

Corso di Matematica Generale M-Z Dipartimento di Economia Universitá degli Studi di Foggia ALGEBRA LINEARE. Giovanni Villani

Corso di Matematica Generale M-Z Dipartimento di Economia Universitá degli Studi di Foggia ALGEBRA LINEARE. Giovanni Villani Corso di Matematica Generale M-Z Dipartimento di Economia Universitá degli Studi di Foggia ALGEBRA LINEARE Giovanni Villani Matrici Definizione 1 Si definisce matrice di tipo m n una funzione che associa

Dettagli

Sistemi lineari. a 11 x 1 + a 12 x a 1n x n = b 1 a 21 x 1 + a 22 x a 2n x n = b 2 : : : a m1 x 1 + a m2 x 2 +..

Sistemi lineari. a 11 x 1 + a 12 x a 1n x n = b 1 a 21 x 1 + a 22 x a 2n x n = b 2 : : : a m1 x 1 + a m2 x 2 +.. Sistemi lineari: definizioni Sistemi lineari Un equazione nelle n incognite x,, x n della forma c x + + c n x n = b ove c,, c n sono numeri reali (detti coefficienti) e b è un numero reale (detto termine

Dettagli