Soluzione dei sistemi lineari in C++
|
|
- Giordano Volpi
- 7 anni fa
- Visualizzazioni
Transcript
1 Soluzione dei sistemi lineari in C++ Roberto Basili University of Rome Tor Vergata, Department of Computer Science, Systems and Production, Roma (Italy), Motivazioni La seguente dispensa introduce i principi alla base della soluzione con metodi diretti per la soluzione dei sistemi lineari di n equazioni in n incognite. Inoltre essa fornisce alcune indicazioni ed esempi per la loro implementazione. Per una trattazione piu completa degli aspetti analitici di tali metodi si rimanda al testo Introduzione al Calcolo Numerico, R. Bevilacqua, O. Menchi, ETS, Pisa, Per approfondire aspetti algoritmici del problema si consiglia il testo Introduction to Algorithms, T.H. Cormen, C. E. Leiserson, R.L. Rivest, MIT Press, Sistemi di Equazioni Lineari Sia dato un sistema lineare di n equazioni in n variabili della forma Ax = b (1) con A = (a ij ) i, j = 1,..., n (detta matrice dei coefficenti), b = (b 1,..., b n ) (detto vettore dei termini noti) ed x = (x 1,..., x n ) detto vettore delle soluzioni. 1.1 Metodi Diretti: algoritmo di triangolarizzazione di Gauss Nel caso particolare in cui nella (1) A = (a ij ) assume la forma detta triangolare superiore, cioe e tale che a ij = 0 j < i una soluzione diretta alla (1) e data dal vettore x definito nel seguente modo: xn = b n a nn x i = (b i n k=i+1 a ikx k )/a ii, i = n 1, n 2,..., 2, 1 (2) La equazione (2) e detta sostituzione all indietro 1. Il metodo di Gauss consiste nel portare un generico sistema Ax = b in una forma equivalente Ux = b in cui U assume una forma triangolare superiore, che mediante la applicazione della (2) possa essere risolto direttamente. La tecnica utilizzata e qualla di generare una successione di sistemi lineari tutti tra loro equivalenti, e cioe una successione di matrici quadrate A (k), A = A (1) A (2)... A (n 1) A (n) = U ed equivalentemente vettori dei termini noti b (k), 1 Osserviamo che per ipotesi il sistema ammette soluzioni, quindi a ii 0 i. 1
2 tali che: b = b (1) b (2)... b (n 1) b (n) = b A (k) x = b (k) k = 1,..., n Generazione della successione dei Sistemi a (k+1) ij b (k+1) i = a (k) ij = b (k) i m ik a (k) kj, m ik b (k) k i = k + 1, k + 2,..., n; j = k, k + 1,..n i = k + 1, k + 2,..., n; j = k, k + 1,..n I numeri m ik (detti moltiplicatori della fase k-esima sono definiti da Casi particolari m ik = a(k) ik a (k) kk, i = k + 1, k + 2,..., n Sistemi indeterminati a causa di una dipendenza lineare tra righe Selezione dell elemento moltiplicatore, pivot. 1.2 Implementazione del Programma C Variabili del Programma e Strutture dei dati. Nella implementazione in C++ del metodo sono necessari le seguenti variabili un array bidimensionale per la rapprsentazione della matrice quadrata A due vettori unidimensionali per la rappresentazione dei termini noti e delle soluzioni, b ed x rispettivamente variabili ausiliarie per la rappresentazione di informazioni complementari, per esempio lo stato di del programma al termine della esecuzione (nei casi particolari evidenziati di sopra) o variabili di interazione con l utente La seguente rappresentazione const int MAX_DIM = 10;... main() double A[MAX_DIM][MAX_DIM], // matrice coefficenti B[MAX_DIM], // matrice termini noti X[MAX_DIM]; // vettore soluzioni int dim; // dimensione richiesta dal sistema corrente distingue: una costante MAX DIM che costituisce l ordine massimo del sistema (cioe il massimo numero di equazioni gestite dal programma la variabile dim che rappresenta la dimensione del sistema corrente ed e aggiornata su richiesta dell utente, determinando la porzione di array utilizzato durante l esecuzione di quel sistema l array di double A che rappresenta di volta in volta i coefficenti della matrice del sistema gli array X e B che contengono le soluzioni e i termini noti, rispettivamente 2
3 1.2.2 Calcolo delle soluzioni all indietro x[dim]=b[dim]/a[dim][dim]; // n-esima equazione for(i=dim-1; i>=0; i--) temp = b[i]; for( k=i+1; k<dim; k++) temp=temp-a[i][k]*sol[k]; x[i] = temp/a[i][i]; // for sulle righe n-1,n-2,..., 1 3
4 1.2.3 Struttura del programma principale main() double A[MAX_DIM][MAX_DIM], // matrice coefficenti B[MAX_DIM], // matrice termini noti X[MAX_DIM]; // vettore soluzioni int dim; // dimensione richiesta da sistema corrente int success; // variabile di ritorno dala procedura Gauss() // success==0 => trovate soluzioni // success==1 => non trovate soluzioni char resp = y ; do system("cls"); cout << "\n\n\n"; // leggi matrice ingresso leggi(a, dim); // Leggi vettore termini noti leggi_tn( dim, B); //stampa il sistema stampa(a,b,dim); // Gauss() per la soluzione success=gauss(a,b,x,dim); // stampa dei risultati if ( success==0 ) cout << "\n\nla Matrice Triangolare superiore e :\n"; stampa(a,b,dim); cout << "\n\nil vettore delle soluzioni e :\n"; stampa_sol(x,dim); else cout << "Il sistema e indeterminato.\n\n"; cout << "\n\n ========? Vuoi continuare (y/n)? >>> "; cin >> resp; while( resp == y resp == Y ); // main() Triangolarizzazione della matrice e calcolo delle soluzioni int gauss( double coef_mat[max_dim][max_dim], // matrice dei coefficenti double term_noti[max_dim], // vettore termini noti double sol[max_dim], // vettore delle soluzioni in uscita int dim) // dimensione del sistema int i, j, k, // indici di scansione della matrice check = 0; double piv, alfa, temp; for( j=0; j<dim-1; j++) // scegli pivot di colonna j; check = pivot(dim, j, coef_mat, term_noti); if( check == 0 ) piv=coef_mat[j][j]; else return(-1); 4
5 // combinazione lineare delle righe al di sotto della i-esima for( i=j+1;i<dim; i++) // calcolo del coefficente della combinazione lineare alfa = coef_mat[i][j]/piv; // sottrazione for( k=j; k<dim; k++) coef_mat[i][k]=coef_mat[i][k]-alfa*coef_mat[j][k]; // trattamento dei termini noti term_noti[i]=term_noti[i]-alfa*term_noti[j]; // for su righe i da j+1 a n //for sui primi n-1 elemnti della diagonale a[j][j] // Check sulla indipendenza dell ultima riga, // cioe se il determinante (prodotto degli elementi della diagonale principale, // e diverso da 0 if( coef_mat[dim-1][dim-1] == 0) cout << "Righe linearmente dipendenti. Soluzioni infinite\n\n"; return(1); //Trovo ora la soluzione sol[dim]=term_noti[dim]/coef_mat[dim][dim]; for(i=dim-1; i>=0; i--) temp = term_noti[i]; for( k=i+1; k<dim; k++) temp=temp-coef_mat[i][k]*sol[k]; sol[i] = temp/coef_mat[i][i]; // for sulle righe n-1,n-2,..., 1 return(0); // gauss() Funzione di pivoting // Funzione di pivoting parziale; // cerca il pivot per la colonna j-esima // e se diverso da a[j][j] esegue lo scambio int pivot( int dim, //dimensione int j, // indice di colonna double matr[max_dim][max_dim], // matrice coefficenti double tn[max_dim]) // termini noti int k,r; double temp; char cont; //for( k=j; matr[k,j]==0 & k<=dim; k++); system("cls"); cout << " Pivoting: passo (" << j << ")\n"; stampa(matr,tn, dim); system("pause"); 5
6 // cerco il primo elemento non nullo k=j; while( k<dim && matr[k][j]==0 ) ++k; if( k<dim ) // esiste k tc matr[k,j]==0 cout << "matr[j][j] non nullo per j=" << k+1 << "\n"; else cout << "Pivot NULLO!!\n\n"; return(-1); if( k!=j ) cout << "Scambio Riga " << j << " con " << k << "\n"; // scambio righe for( r=j; r<dim; r++ ) temp = matr[j][r]; matr[j][r] = matr[k][r]; matr[k][r] = temp; temp = tn[j]; tn[j] = tn[k]; tn[k] = temp; return(0); // pivot() Esempio di esecuzione del programma Se il sistema Ax = b e dato da A = e 1 b = Il programma dovrebbe produrre il seguente risultato: Pivoting: passo (0) Matrice a(1,1)=1 a(1,2)=1 a(1,3)=1 a(1,4)=1 a(2,1)=1 a(2,2)=2 a(2,3)=1 a(2,4)=1 a(3,1)=1 a(3,2)=1 a(3,3)=3 a(3,4)=1 a(4,1)=1 a(4,2)=1 a(4,3)=1 a(4,4)=4 Pivoting: passo (1) Matrice a(1,1)=1 a(1,2)=1 a(1,3)=1 a(1,4)=1 6
7 a(2,1)=0 a(2,2)=1 a(2,3)=0 a(2,4)=0 a(3,1)=0 a(3,2)=0 a(3,3)=2 a(3,4)=0 a(4,1)=0 a(4,2)=0 a(4,3)=0 a(4,4)=3 Pivoting: passo (2) Matrice a(1,1)=1 a(1,2)=1 a(1,3)=1 a(1,4)=1 a(2,1)=0 a(2,2)=1 a(2,3)=0 a(2,4)=0 a(3,1)=0 a(3,2)=0 a(3,3)=2 a(3,4)=0 a(4,1)=0 a(4,2)=0 a(4,3)=0 a(4,4)=3 La Matrice Triangolare superiore e : Matrice a(1,1)=1 a(1,2)=1 a(1,3)=1 a(1,4)=1 a(2,1)=0 a(2,2)=1 a(2,3)=0 a(2,4)=0 a(3,1)=0 a(3,2)=0 a(3,3)=2 a(3,4)=0 a(4,1)=0 a(4,2)=0 a(4,3)=0 a(4,4)=3 Il vettore delle soluzioni e : Vettore soluzioni x(1)=-2 x(2)=1 x(3)=1 x(4)=1 7
8 A Programma completo per l applicazione del metodo di Gauss per la soluzione dei sistemi lineari #include <iostream.h> #include <math.h> #include <iomanip.h> #include <stdlib.h> const int MAX_DIM = 10; // struct matrix void leggi( double matr[max_dim][max_dim], int &dim); void leggi_tn( int dimensione, double tn[]); int pivot( int dim, int j, double matr[max_dim][max_dim], double tn[max_dim]); void stampa(double matr[max_dim][max_dim], double term_noti[max_dim], int dim); int gauss( double coef_mat[max_dim][max_dim], double term_noti[max_dim], double sol[max_dim], int dim) int i, j, k, // indici di scansione della matrice check = 0; double piv, alfa, temp; for( j=0; j<dim-1; j++) // scegli pivot; check = pivot(dim, j, coef_mat, term_noti); if( check == 0 ) piv=coef_mat[j][j]; else return(-1); // combinazione lineare for( i=j+1;i<dim; i++) // calcolo del coefficente della combinazione lineare alfa = coef_mat[i][j]/piv; // sottrazione for( k=j; k<dim; k++) coef_mat[i][k]=coef_mat[i][k]-alfa*coef_mat[j][k]; // termini noti term_noti[i]=term_noti[i]-alfa*term_noti[j]; // for su righe i da j+1 a n //for sui primi n-1 elemnti della diagonale a[j][j] // Check su determinante if( coef_mat[dim-1][dim-1] == 0) cout << "Righe linearmente dipendenti. Soluzioni infinite\n\n"; return(1); //Trovo ora la soluzione 8
9 sol[dim]=term_noti[dim]/coef_mat[dim][dim]; for(i=dim-1; i>=0; i--) temp = term_noti[i]; for( k=i+1; k<dim; k++) temp=temp-coef_mat[i][k]*sol[k]; sol[i] = temp/coef_mat[i][i]; // for sulle righe n-1,n-2,..., 1 return(0); // gauss() // Funzione di pivoting parziale; // cerca il pivot per la colonna j-esima // e se diverso da a[j][j] esegue lo scambio int pivot( int dim, int j, double matr[max_dim][max_dim], double tn[max_dim]) int k,r; double temp; char cont; //for( k=j; matr[k,j]==0 & k<=dim; k++); system("cls"); cout << " Pivoting: passo (" << j << ")\n"; stampa(matr,tn, dim); system("pause"); // cerco il primo elemento non nullo k=j; while( k<dim && matr[k][j]==0 ) ++k; if( k<dim ) // esiste k tc matr[k,j]==0 cout << "matr[j][j] non nullo per j=" << k+1 << "\n"; else cout << "Pivot NULLO!!\n\n"; return(-1); if( k!=j ) cout << "Scambio Riga " << j << " con " << k << "\n"; // scambio righe for( r=j; r<dim; r++ ) temp = matr[j][r]; matr[j][r] = matr[k][r]; matr[k][r] = temp; temp = tn[j]; tn[j] = tn[k]; tn[k] = temp; return(0); // pivot() 9
10 void leggi( double matr[max_dim][max_dim], int &dim) int i,j; cout << "Inserire la dimensione: "; cin >> dim; for( i=0; i<dim; i++) for( j=0; j<dim; j++) cout << "a(" << i+1 << "," << j+1 << ")="; cin >> matr[i][j]; void leggi_tn( int dim, double tn[max_dim]) int i; for( i=0; i<dim; i++) cout << "b(" << i+1 << ")="; cin >> tn[i]; void stampa(double matr[max_dim][max_dim], double term_noti[max_dim], int dim) int i,j; cout << "Matrice\n"; for( i=0; i<dim; i++) for( j=0; j<dim; j++) cout << "\ta(" << i+1 << "," << j+1 << ")=" << setprecision(3) << matr[i][j]; cout << "\n"; void stampa_sol(double sol[max_dim], int dim) int i; cout << "Vettore soluzioni\n"; for( i=0; i<dim; i++) cout << "\tx(" << i+1 << ")=" << setprecision(3) << sol[i]; cout << "\n"; // stampa_sol() main() double A[MAX_DIM][MAX_DIM], // matrice coefficenti B[MAX_DIM], // matrice termini noti X[MAX_DIM]; // vettore soluzioni int dim; // dimensione richiesta da sistema corrente int success; // variabile di ritorno dala procedura Gauss() // success==0 => trovate soluzioni // success==1 => non trovate soluzioni char resp = y ; 10
11 do system("cls"); cout << "\n\n\n"; // leggi matrice ingresso leggi(a, dim); // Leggi vettore termini noti leggi_tn( dim, B); //stampa il sistema stampa(a,b,dim); // Gauss() per la soluzione success=gauss(a,b,x,dim); // stampa() if ( success==0 ) cout << "\n\nla Matrice Triangolare superiore e :\n"; stampa(a,b,dim); cout << "\n\nil vettore delle soluzioni e :\n"; stampa_sol(x,dim); else cout << "Il sistema e indeterminato.\n\n"; cout << "\n\n ========? Vuoi continuare (y/n)? >>> "; cin >> resp; while( resp == y resp == Y ); // main() 11
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
DettagliCorso di Analisi Numerica
con pivoting Corso di Laurea in Ingegneria Informatica Corso di Analisi Numerica 6 - METODI DIRETTI PER I SISTEMI LINEARI Lucio Demeio Dipartimento di Scienze Matematiche con pivoting 1 Introduzione algebrica
DettagliCorso di Analisi Numerica
con pivoting Corso di Laurea in Ingegneria Informatica Corso di Analisi Numerica 6 - METODI DIRETTI PER I SISTEMI LINEARI Lucio Demeio Dipartimento di Scienze Matematiche con pivoting 1 2 3 con pivoting
DettagliCorso 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
DettagliMatrici.h Definizione dei tipi #define MAXROWS 10 #define MAXCOLS 10 #define ELEMENT int #define ELEMENTFORMAT "%d" Tipo degli elementi della matrice
Matrici Un po di esercizi sulle matrici Semplici Lettura e scrittura Calcolo della trasposta Media difficoltà Calcolo del determinante Difficili Soluzione di sistemi lineari È veramente difficile? 1 Matrici.h
DettagliMatrici Un po di esercizi sulle matrici Semplici Lettura e scrittura Calcolo della trasposta Media difficoltà Calcolo l del determinante t È Difficili
Matrici Un po di esercizi sulle matrici Semplici Lettura e scrittura Calcolo della trasposta Media difficoltà Calcolo l del determinante t È Difficili Soluzione di sistemi lineari È veramente difficile?
Dettagli... b 2 X 2. . b N X N. a 11 a 12.. a 1N a 21 a 22.. a 2N A =. a N1... a NN
Matrici Un po di esercizi sulle matrici Semplici Lettura e scrittura Calcolo della trasposta Media difficoltà Calcolo l del determinante t È veramente Difficili difficile? Soluzione di sistemi lineari
DettagliCorso 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
DettagliMatrici. Matrici.h Definizione dei tipi. Un po di esercizi sulle matrici Semplici. Media difficoltà. Difficili
Matrici Un po di esercizi sulle matrici Semplici Lettura e scrittura Calcolo della trasposta Media difficoltà Calcolo del determinante Difficili Soluzione di sistemi lineari È veramente difficile? 1 Matrici.h
DettagliIntroduzione all uso delle funzioni in C++
Introduzione all uso delle funzioni in C++ Roberto Basili University of Rome Tor Vergata, Department of Computer Science, Systems and Production, 00133 Roma (Italy), basili@info.uniroma2.it January 24,
DettagliLABORATORIO DI PROGRAMMAZIONE E CALCOLO Docente E. Carlini A.A. 2012/13 Foglio di esercizi N.8 con la collaborazione di Andrea Pugliese
LABORATORIO DI PROGRAMMAZIONE E CALCOLO Docente E. Carlini A.A. / Foglio di esercizi N.8 con la collaborazione di Andrea Pugliese Dovete strutturare i programmi dei seguenti esercizi in funzioni ) (Metodo
DettagliSistemi di equazioni lineari
Sistemi di equazioni lineari a 00 x 0 + a 01 x 1 + a 02 x 2 = b 0 a 10 x 0 + a 11 x 1 + a 12 x 2 = b 1 a 20 x 0 + a 21 x 1 + a 22 x 2 = b 2 Per N equazioni N 1 j=0 a ij x j = b i i = 0, N 1 sono equivalenti
DettagliCorso di Geometria e Algebra Lineare
Prof. C. Vergara, Dott.ssa N. Franchina, Dr. A. Colombo Corso di Geometria e Algebra Lineare Laboratorio 3: sistemi lineari 25 29 Maggio 2015 Metodi diretti per sistemi lineari Si consideri il seguente
DettagliComplementi di Matematica e Calcolo Numerico A.A
Complementi di Matematica e Calcolo Numerico A.A. 205-206 Laboratorio 9 Metodo di Eliminazione Gaussiana per sistemi lineari Siano A R n n una matrice quadrata non singolare (det(a) 0) e b R n un vettore
DettagliSistemi 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
DettagliMotivazioni. 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
DettagliSistemi 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/ lorenzo.pareschi@unife.it Lorenzo Pareschi (Univ. Ferrara)
DettagliEsercitazione 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
DettagliAlgoritmi per operazioni con le matrici
Algoritmi per operazioni con le matrici 1 Sommario Definizioni Alcune operazioni principali sulle matrici Somma di due matrici Trasposta di una matrice Prodotto di matrici: algoritmo classico Prodotto
DettagliFederica Gregorio e Cristian Tacelli
1 Sistemi lineari Federica Gregorio e Cristian Tacelli Un sistema lineare m n (m equazioni in n incognite) è un insieme di equazioni lineari che devono essere soddisfatte contemporaneamente a 11 x 1 +
DettagliSistemi 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,
DettagliMetodi Diretti per la Risoluzione di Sistemi Lineari
Metodi Diretti per la Risoluzione di Sistemi Lineari Luca Gemignani luca.gemignani@unipi.it 20 marzo 2018 Indice Lezione 1: Sistemi Triangolari. 1 Lezione 2: Matrici Elementari di Gauss ed il Metodo di
DettagliSistemi II. Sistemi II. Elisabetta Colombo
Corso di Approfondimenti di Matematica per Biotecnologie, Anno Accademico 2011-2012, http://users.mat.unimi.it/users/colombo/programmabio.html 1 2 3 con R.C.+ o 1.10 Rango massimo e determinante con R.C.+
DettagliCorso 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
DettagliMatematica II, aa
Matematica II, aa 2011-2012 Il corso si e svolto su cinque temi principali: sistemi lineari, algebra delle matrici, determinati, spazio vettoriale R n, spazio euclideo R n ; per ogni tema descrivo gli
DettagliSoluzione sistemi lineari
Soluzione sistemi lineari Laboratorio di programmazione e calcolo Chimica e Tecnologie chimiche Pierluigi Amodio Dipartimento di Matematica Università di Bari Soluzione sistemi lineari p. / matrice diagonale
DettagliAlgoritmo di ordinamento per sostituzione. Esempio : dato l array :
Algoritmo di ordinamento per sostituzione Per ottenere un ordinamento crescente con l algoritmo di ordinamento per Sostituzione si confronta l elemento nella prima posizione con gli elementi nelle posizioni
DettagliAppunti su Indipendenza Lineare di Vettori
Appunti su Indipendenza Lineare di Vettori Claudia Fassino a.a. Queste dispense, relative a una parte del corso di Matematica Computazionale (Laurea in Informatica), rappresentano solo un aiuto per lo
DettagliSistemi lineari: metodi diretti II
Sistemi lineari: metodi diretti II Ana Alonso Dipartimento di Matematica - Università di Trento 8 ottobre 2015 Metodo di eliminazione di Gauss (senza pivotazione) U matrice triangolare superiore. for k
Dettagli1 Risoluzione di sistemi lineari
Risoluzione di sistemi lineari La presente nota è in parte ripresa dal testo D Bini M Capovani O Menchi Metodi numerici per l algebra lineare Zanichelli Editore Siano A una matrice non singolare di ordine
Dettagli1: /* Nome del programma: gestione_articoli_01.cpp 2: Realizzato da: Gaetano Della Cerra 3: Data: 06/02/2010 - III Informatica Serale I.T.I.S.
1: /* Nome del programma: gestione_articoli_01.cpp 2: Realizzato da: Gaetano Della Cerra 3: Data: 06/02/2010 - III Informatica Serale I.T.I.S. Molinari 4: Il programma gestisce gli articoli di un negozio
DettagliSistemi lineari: metodi diretti II
Sistemi lineari: metodi diretti II Ana Alonso Dipartimento di Matematica - Università di Trento 9 ottobre 2014 Metodo di eliminazione di Gauss (senza pivotazione) U matrice triangolare superiore. for k
DettagliMetodi numerici con elementi di Programmazione A.A
Metodi numerici con elementi di Programmazione A.A. 2013-2014 Esercizi svolti in Laboratorio Lezione del 19-11-2013 1 Docente: Vittoria Bruni Email: vittoria.bruni@sbai.uniroma1.it Ufficio: Via A. Scarpa,
DettagliProblema. 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 Ω Ω
DettagliMetodi 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
DettagliLaboratorio 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: claudia.zoccarato@unipd.it Dispense: Moodle Dipartimento ICEA 17 Maggio 2017
DettagliComplementi di Matematica e Calcolo Numerico C.L. Chimica Industriale A.A
Complementi di Matematica e Calcolo Numerico C.L. Chimica Industriale A.A. 208-209 Laboratorio 4-4 aprile 209 Metodo delle sostituzioni in avanti per sistemi lineari con matrice triangolare inferiore Siano
DettagliGeometria BAER I canale Foglio esercizi 2
Geometria BAER I canale Foglio esercizi 2 Esercizio 1. Calcolare il determinante e l inversa (quando esiste) della matrice ( ) cos θ sin θ R θ =, θ [0, 2π] sin θ cos θ Soluzione: Il determinante ( é cos
DettagliNote per le esercitazioni di Geometria 1 a.a. 2007/08 A. Lotta. Metodi per il calcolo del rango di una matrice
Note per le esercitazioni di Geometria 1 a.a. 2007/08 A. Lotta Versione del 21/12/07 Metodi per il calcolo del rango di una matrice Sia A M m,n (K). Denotiamo con A (i) la riga i-ma di A, i {1,..., m}.
DettagliEsercitazione 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
DettagliSistemi lineari e matrice inversa
Sistemi lineari e matrice inversa A cura di Martina Dorigo, Luigi Maninchedda, Antonio Stefani Realizzato nell'ambito del Progetto Archimede con la supervisione dei prof Fabbro Valentina, Rizzo Gabriele
DettagliCorso di Calcolo Numerico
Corso di Laurea in Ingegneria Gestionale Sede di Fermo Corso di 7 - CALCOLO NUMERICO CON MATRICI Richiami teorici Operazioni fondamentali Siano A = {a ij } e B = {b ij }, i = 1,..., m, j = 1,..., n due
Dettagli4. Algoritmi per la soluzione di sistemi lineari.
CALCOLO NUMERICO Francesca Mazzia Dipartimento Interuniversitario di Matematica Università di Bari 4. Algoritmi per la soluzione di sistemi lineari. 1 Sistemi triangolari inferiori Sia L triangolare inferiore.
DettagliVettori Algoritmi elementari di ordinamento
Dipartimento di Informatica e Sistemistica Antonio Ruberti Sapienza Università di Roma Vettori Algoritmi elementari di ordinamento Corso di Fondamenti di Informatica Laurea in Ingegneria Informatica (Canale
Dettagli10 Metodi diretti per la risoluzione di sistemi lineari: fattorizzazione QR
10 Metodi diretti per la risoluzione di sistemi lineari: fattorizzazione QR 101 Metodo di ortonormalizzazione di Gram-Schmidt Per descrivere il metodo di ortonormalizzazione di Gram-Schmidt occorre la
DettagliBreve Manuale di Riferimento sulla Sintassi Linguaggi C++ e FORTRAN
Breve Manuale di Riferimento sulla Sintassi Linguaggi e versione aggiornata al 05/02/2004 Sommario Elementi di Base... 2 Dati, Tipi e Dichiarazioni... 2 Tipi di Dato di Base... 2 Tipi di Dato Strutturati...
DettagliRisoluzione di più sistemi con la stessa matrice
Risoluzione di più sistemi con la stessa matrice Data A R n n e b R n, calcolare x e z : Ax = b, Az = c costo del MEG ( 2 3 n3 + n 2) + ( 2 3 n3 + n 2) costo totale = 4 3 n3 + 2n 2 Obiettivo: separare
DettagliProgrammare 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
DettagliCorso di Geometria BIAR, BSIR Esercizi 3: soluzioni
Corso di Geometria - BIAR, BSIR Esercizi : soluzioni Rango e teorema di Rouché-Capelli Esercizio. Calcolare il rango di ciascuna delle seguenti matrici: ( ) ( ) ( ) A =, A =, A =, A 4 = ( ). a a a Soluzione.
DettagliSistemi di equazioni lineari. la soluzione è unica se det(a) 0 e vale
Sistemi di equazioni lineari a 00 x 0 + a 01 x 1 + a 02 x 2 = b 0 a 10 x 0 + a 11 x 1 + a 12 x 2 = b 1 a 20 x 0 + a 21 x 1 + a 22 x 2 = b 2 Per N equazioni N 1 j=0 a ij x j = b i i = 0, N 1 la soluzione
DettagliMatrici elementari e fattorizzazioni
Matrici elementari e fattorizzazioni Dario A Bini, Università di Pisa 19 ottobre 2015 Sommario Questo modulo didattico introduce ed analizza la classe delle matrici elementari Tale classe verrà usata per
DettagliVettori e matrici. Lorenzo Pareschi. Dipartimento di Matematica & Facoltá di Architettura Universitá di Ferrara
Vettori e matrici Lorenzo Pareschi Dipartimento di Matematica & Facoltá di Architettura Universitá di Ferrara http://utentiunifeit/lorenzopareschi/ lorenzopareschi@unifeit Lorenzo Pareschi Univ Ferrara
Dettagli1. Consideriamo un sistema lineare. E piuttosto naturale aspettarsi che
Algebra Lineare (Matematica CI) 151113 1 Consideriamo un sistema lineare E piuttosto naturale aspettarsi che (a) se il numero delle equazioni e minore del numero delle incognite allora il sistema e indeterminato;
DettagliEsercitazione Fondamenti di Informatica 2
Esercitazione Fondamenti di Informatica 2 Matrici (seconda parte) 27 marzo 2006 a Prodotto righe-colonne Scrivere un metodo Matrice moltiplica(matrice mat) che, applicato ad una istanza dell oggetto Matrice,
DettagliSi noti che la matrice trasposta A ha lo stesso determinante. Questa proprietà è generale;
Ottavio Serra Matrici e determinanti In questa nota estenderemo a matrici quadrate di ordine n qualsiasi il concetto di determinante introdotto nelle scuole secondarie per matrici di ordine 2 come tecnica
DettagliALGEBRA 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
DettagliSISTEMI LINEARI. Ax = b
SISTEMI LINEARI Un sistema lineare di n equazioni algebriche in n incognite è esprimibile come: a 11 x 1 + a 1 x + a 13 x 3 +... + a 1n x n = b 1 a 1 x 1 + a x + a 3 x 3 +... + a n x n = b a n1 x 1 + a
DettagliBREVE INTRODUZIONE ALLA PROGRAMMAZIONE IN C++ E MATHEMATICA
BREVE INTRODUZIONE ALLA PROGRAMMAZIONE IN C++ E MATHEMATICA 1 LA PROGRAMMAZIONE STRUTTURATA Regole formali per la costruzione del software Metodo di astrazione suddivisione del programma in parti logiche
DettagliA =, c d. d = ad cb. c d A =
Geometria e Algebra (II), 271112 1 Definizione D ora innanzi, al posto di dire matrice quadrata di tipo n n o matrice quadrata n n diremo matrice quadrata di ordine n o in breve matrice di ordine n Il
DettagliLinguaggio C: Array Valeria Cardellini
Linguaggio C: Array Valeria Cardellini Corso di Calcolatori Elettronici A.A. 2018/19 Università degli Studi di Roma Tor Vergata Dipartimento di Ingegneria Civile e Ingegneria Informatica Array in C q Dichiarazione
DettagliCarla Guerrini 1. Sistemi e matrici semplici
Carla Guerrini 1 Sistemi e matrici semplici Vi sono delle funzioni MatLab che generano delle matrici particolari, per esempio zeros(m, n) produce una matrice m n con tutti gli elemnti nulli, ones(m, n)
DettagliElementi 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
DettagliMATRICI E VETTORI APPROFONDIMENTO PER IL CORSO DI LABORATORIO DI INFORMATICA SARA POLTRONIERI
MATRICI E VETTORI APPROFONDIMENTO PER IL CORSO DI LABORATORIO DI INFORMATICA SARA POLTRONIERI LE MATRICI DEFINIZIONE: Una matrice è un insieme di numeri disposti su righe e colonne. 1 3 7 M = 2 5 1 M è
Dettagli1. Calcolo dell indice di condizionamento di una matrice
1 Esercizi sul condizionamento con matlab laboratorio di Calcolo Scientifico per Geofisici Prof. A. Murli a.a. 2006/07 1. Calcolo dell indice di condizionamento di una matrice Determinare una function
DettagliAnno accademico
RICHIAMI PER IL CORSO DI ANALISI NUMERICA PROF R MORANDI Anno accademico 28 29 1 RICHIAMI: PRECISIONE FINITA (USO DEL CALCOLATORE) IN UN CALCOLATORE UNA QUALUNQUE INFORMAZIONE VIENE RAPPRESENTA- TA COME
DettagliMATRICI E SISTEMI LINEARI
MATRICI E SISTEMI LINEARI - PARTE I - Felice Iavernaro Dipartimento di Matematica Università di Bari 27 Febbraio 2006 Felice Iavernaro (Univ. Bari) Matrici e Sistemi lineari 27/02/2006 1 / 1 Definizione
DettagliPreCorso di Matematica - PCM Corso M-Z
PreCorso di Matematica - PCM Corso M-Z DOCENTE: M. Auteri Outline Docente: Auteri PreCorso di Matematica 2016 2 Definizione di matrice Una matrice (di numeri reali) è una tabella di m x n numeri disposti
DettagliNote sull algoritmo di Gauss
Note sull algoritmo di Gauss 29 settembre 2009 Generalità Un sistema lineare di m equazioni in n incognite x,..., x n è un espressione del tipo: a x + a 2 x 2 + + a n x n = b a 2 x + a 22 x 2 + + a 2n
DettagliSISTEMI LINEARI QUADRATI
SISTEMI LINEARI QUADRATI Dipartimento di Sc Matematiche ed Informatiche, Università di Siena LABORATORIO di CALCOLO NUMERICO aa 27 28 SISTEMI LINEARI QUADRATI p1/47 RICHIAMI di ALGEBRA LINEARE DEFINIZIONI
DettagliProgrammazione Procedurale in Linguaggio C++
Programmazione Procedurale in Linguaggio C++ Strutture di Dati La Matrice versione. Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G. Mecca Università
DettagliEsercitazione 1-I parte
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
DettagliRicerca binaria (o dicotomica) di un elemento in un vettore
Ricerca binaria (o dicotomica) di un elemento in un La ricerca binaria o dicotomica è utilizzata per ricercare i dati in un ORDNATO. L algoritmo di ricerca binaria, dopo ogni confronto, scarta metà degli
DettagliArgomento 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
DettagliPer 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
DettagliSviluppando ancora per colonna sulla prima colonna della prima matrice e sulla seconda della seconda matrice si ottiene:
M. CARAMIA, S. GIORDANI, F. GUERRIERO, R. MUSMANNO, D. PACCIARELLI RICERCA OPERATIVA Isedi Esercizi proposti nel Cap. 5 - Soluzioni Esercizio 5. - La norma Euclidea di è 9 6 5 - Il versore corrispondente
DettagliIntroduzione soft alla matematica per l economia e la finanza. Marta Cardin, Paola Ferretti, Stefania Funari
Introduzione soft alla matematica per l economia e la finanza Marta Cardin, Paola Ferretti, Stefania Funari Capitolo Sistemi di equazioni lineari.8 Il Teorema di Cramer Si consideri un generico sistema
Dettagli1 1, { x1 2x 2 + x 3 = 0 2x 2 8x 3 = 1 x 1 x 4 = = 0
a.a. 5-6 Esercizi. Sistemi lineari. Soluzioni.. Determinare quali delle quaterne, 3,, sono soluzioni del sistema di tre equazioni in 4 incognite { x x + x 3 = x 8x 3 = x x 4 =. Sol. Sostituendo ad x, x,
DettagliGeometria 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
DettagliAlgoritmi su Matrici. int const R=40; int const C=8; int A[R][C]; int n=32; int m=5; Compito Studente N O
Algoritmi su Matrici Esempio: una classe di 32 studenti ha sostenuto durante l anno 5 compiti in classe. Supponiamo di voler scrivere un programma che stampi per ogni studente la somma e la media dei voti
DettagliSistemi 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
Dettaglin +1 determinanti (D i, i =1,...,n e det A) n! prodotti per ciascun determinante n 1 moltiplicazioni per ciascun prodotto
METODI NUMERICI (A.A. 2007-2008) Prof. F.Pitolli Appunti delle lezioni sui sistemi lineari: metodi diretti; condizionamento Metodi diretti per la soluzione di sistemi lineari Metodi diretti Sono basati
DettagliVETTORI E MATRICI. Ing. Nicola Cappuccio 2014 U.F.5 ELEMENTI SCIENTIFICI ED ELETTRONICI APPLICATI AI SISTEMI DI TELECOMUNICAZIONI
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 I VETTRORI E MATRICI (RICHIAMI) Ad ogni matrice quadrata a coefficienti reali è possibile associare un numero reale, detto determinante, calcolato
DettagliCorso di Informatica 1 (IN110) Tutorato n. 3
Corso di Informatica 1 (IN110) Tutorato n. 3 Marco Liverani Esercizio n. 1 Letti in input tre array di interi con lo stesso numero n di elementi, costruisce un quarto array di numeri floating point con
DettagliNote per il corso di Geometria Corso di laurea in Ing. Edile/Architettura. 4 Sistemi lineari. Metodo di eliminazione di Gauss Jordan
Note per il corso di Geometria 2006-07 Corso di laurea in Ing. Edile/Architettura Sistemi lineari. Metodo di eliminazione di Gauss Jordan.1 Operazioni elementari Abbiamo visto che un sistema di m equazioni
DettagliMatematica II,
Matematica II 181111 1 Matrici a scala Data una riga R = [a 1 a 2 a n ] di numeri reali non tutti nulli il primo elemento non nullo di R si dice pivot di R Cosi il pivot di R compare come j mo elemento
Dettagli3x 2 = 6. 3x 2 x 3 = 6
Facoltà di Scienze Statistiche, Algebra Lineare 1 A, GParmeggiani LEZIONE 7 Sistemi lineari Scrittura matriciale di un sistema lineare Def 1 Un sistema di m equazioni ed n incognite x 1, x 2, x n, si dice
Dettagliil determinante che si ottiene da A, sopprimendo la i - esima riga e la j - esima colonna. Si definisce complemento algebrico dell'elemento a ij
Determinanti Sia data la matrice quadrata a... a n a a n =...... a... a n nn Chiamiamo determinante di il numero det o che ad essa viene associato. det = a a... a... a... a n n n... a nn Un generico elemento
DettagliMatrici triangolari [Abate, 3.2] Lezioni 05 e 06. Determinante di una matrice triangolare [Abate, es. 9.3] Matrici ridotte per righe.
Matrici triangolari [Abate, 32] Definizione Una matrice A = a ij ) R m,n si dice triangolare superiore se a ij = 0 per ogni i > j; triangolare inferiore se a ij = 0 per ogni i < j Lezioni 05 e 06 Una matrice
DettagliArgomenti trattati nella settimana novembre Il libro cui faccio riferimento, se non specificato altrimenti, è Lang, Algebra lineare
Argomenti trattati nella settimana 23-27 novembre 2009 Il libro cui faccio riferimento, se non specificato altrimenti, è Lang, Algebra lineare 1 Sistemi lineari; 2 applicazioni lineari; Sistemi lineari;
DettagliCorso di Matematica per la Chimica. Dott.ssa Maria Carmela De Bonis a.a
Dottssa Maria Carmela De Bonis aa 2013-14 Metodi diretti Si chiamano metodi diretti quei metodi numerici che risolvono sistemi lineari in un numero finito di passi In altri termini, supponendo di effettuare
DettagliEsercizi 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
DettagliEsercizi svolti. delle matrici
Esercizi svolti. astratti. Si dica se l insieme delle coppie reali (x, y) soddisfacenti alla relazione x + y è un sottospazio vettoriale di R La risposta è sì, perchè l unica coppia reale che soddisfa
DettagliMetodi di calcolo numerico per la soluzione di sistemi di equazioni lineari Equazione lineare: a 1 X 1 + a 2 X 2 +...+a N X N = b
Metodi di calcolo numerico per la soluzione di sistemi di equazioni lineari Equazione lineare: a 1 X 1 + a 2 X 2 +...+a N X N = b incognite: X 1,..., X N coefficienti: a 1, a 2,..., a N, b Soluzione dell
Dettagli