MATLAB.

Slides:



Advertisements
Presentazioni simili
MATLAB.
Advertisements

ITCG MOSE’ BIANCHI ANNO SCOLASTICO
I SISTEMI LINEARI.
Dipartimento di Matematica
MATEMATICA PER L’ECONOMIA
Dipartimento di Matematica
Metodi numerici in Matlab
Capitolo 8 Sistemi lineari.
Autovalori e autovettori
MATLAB Cristina Campi
MATLAB.
MATLAB.
MATLAB.
Introduzione a MATLAB Stefano Vigogna Dipartimento di Matematica
MATLAB. Outline Grafica 2D Esercizi Grafica 3D Esercizi.
MATLAB.
MATLAB.
MATLAB.
MATLAB. Scopo della lezione Programmare in Matlab Funzioni Cicli Operatori relazionali Esercizi vari.
Dipartimento di Matematica
MATLAB Stefano Gagliardo
MATLAB.
PROPRIETÀ DEI DETERMINANTI
Si definisce matrice di ordine mn una tabella della forma:
COORDINATE POLARI Sia P ha coordinate cartesiane
LE MATRICI.
Implementazione del problema della approssimazione ai minimi quadrati Camillo Bosco Corso di Analisi Numerica A.A
Algebra delle Matrici.
Algebra lineare.
RICHIAMI ELEMENTARI DI ALGEBRA MATRICIALE
Statistica per le decisioni aziendali ed analisi dei costi Modulo II - Statistica per le decisioni Aziendali Richiami di Algebra Matriciale.
MATLAB. Annalisa Pascarella
MATLAB.
MATLAB. …oggi… Programmare in Matlab Programmare in Matlab m-file m-file script script Funzioni Funzioni Cicli Cicli Operatori relazionali Operatori relazionali.
MATLAB. Annalisa Pascarella
MATLAB.
MATLAB.
MATLAB. …oggi… Programmare in Matlab Programmare in Matlab Funzioni Funzioni Cicli Cicli Operatori relazionali Operatori relazionali Indipendenza lineare,
MATLAB.
MATLAB. …oggi… Programmare in Matlab Programmare in Matlab Funzioni Funzioni Cicli Cicli Operatori relazionali Operatori relazionali Esercizi vari Esercizi.
Metodi iterativi G. Puppo.
Algebra lineare G. Puppo.
SISTEMI LINEARI.
I Sistemi Lineari Molti, problemi per poter essere risolti, hanno bisogno dell’introduzione di uno o più elementi incogniti. Ad esempio consideriamo il.
Sistemi di equazioni lineari
Importazione di dati Nellambito dellutilizzo di qualsiasi software statistico una necessità è quella di importare dati esterni forniti dallutilizzatore.
Polinomi, integrazione e ottimizzazione
Uso dei cicli y t =c+ty t-1 +e Un uso dei cicli può essere quello di creare una serie storica per cui y t =c+ty t-1 +e dove poniamo c e t scalari ed e~N(0,1).
Introduzione all’algebra lineare
Corso di Chimica Fisica II 2013 Marina Brustolon
Algebra matriciale e linguaggio matriciale in MATLAB
Le matrici e I Sistemi lineari.
INTRODUZIONE A MATLAB.
MATRICI classe 3 A inf (a.s ).
Definizione di determinante
“Piano” Lab 1 – Fattorizzazione LU + pivoting
Milano, 17 Dicembre 2013 Informatica B Informatica B Matlab Laboratorio del 14/01/2014 Responsabili di laboratorio: Gianluca Durelli:
File e Funzioni Si possono distinguere tre tipi di file che vengono utilizzati in MATLAB: M-file: hanno estensione .m e in essi vengono memorizzati i.
I PRINCIPI PER RISOLVERE I SISTEMI DI EQUAZIONI
Sottospazi vettoriali
Corso di Matematica (6 CFU) (4 CFU Lezioni +2 CFU Esercitazioni)
Claudio Arbib Università dell’Aquila Ricerca Operativa Metodo del simplesso per problemi di distribuzione single-commodity.
Metodo di Cramer Dato il sistema lineare a due incognite per risolvere il sistema dobbiamo costruire 3 matrici. È detta matrice un qualsiasi gruppo di.
Un sistema di equazioni di primo grado (lineari) ammette soluzioni (una o infinite) se e solo se il rango (caratteristica) della matrice completa è uguale.
Sistemi di equazioni lineari. Sistemi di primo grado di due equazioni a due incognite Risolvere un sistema significa trovare la coppia di valori x e y.
Riferimenti di cella. ProductQuantityUnit Price Extended Price% % Queso Cabrales12$14$1680, Singaporean Hokkien Fried Mee10$10$98#DIV/0!0,
Ancora sulle equazioni di secondo grado….. Equazione di secondo grado completa Relazione tra le soluzioni di un'equazione di secondo grado.
Definizioni preliminari Sommario - Caratteristiche Principali – Assegnazione di variabili - Scrittura e manipolazione di matrici e vettori - Funzioni predefinite.
Parte 5 Sommario Uso routine di calcolo predefinite di Matlab –Risoluzione equazioni non lineariRisoluzione equazioni non lineari –Ricerca minimo di una.
Prof. Cerulli – Dott. Carrabs
Transcript della presentazione:

MATLAB

Annalisa Pascarella pascarel@dima.unige.it www.aula.dimet.unige.it

…di cosa parliamo oggi… Sistemi lineari Fattorizzazione LU M-file Esercizi

Sistemi Lineari Teorema di Rouchè-Capelli matrice dei coefficienti matrice dei termine noti Teorema di Rouchè-Capelli rango(A) = rango(A|b) <=> il sistema è risolubile rango(A) = rango(A|b) = n => unica soluzione rango(A) = rango(A|b) = p < n => ∞n-p soluzioni …un po’ di teoria…

Risoluzione di sistemi Lineari Ax = b Sostituzione Cramer SE A è quadrata E invertibile Algoritmo di Gauss operazioni elementari sulle righe pivotizzazione (parziale o totale) -> importante quando si implementa l’algoritmo al calcolatore Algoritmo di Gauss: mediante trasformazioni elementari sulle righe si trasforma il sistema di partenza in un sistema equivalente, dove la matrix dei coefficienti è triangolare superiore. Da un punto di vista teorico nn ha importanza la scelta del pivot, tale scelta è importante quando implementiamo l’algoritmo. (in analisi numerica si deve sempre tener presente che si lavora con una certa approssimazione e che si ha il problema della propagazione degli errori)

A quadrata non singolare il simbolo nn è quello della divisione!! x = A\b x = inv(A)*b Matlab è in grado di determinare la soluzione mediante l’algoritmo gaussiano facendo uso della pivottzzazione parziale, scegliendo per ogni colonna il pivot con valore assoluto + grande (si potrebbe pensare di risolvere un sistema quadrato nn singolare implementando il metodo di Cramer, ma computazionalmente si avrebbe un costo di n! => troppe operazioni!) la soluzione è calcolata mediante l’algoritmo Gaussiano con pivot parziale tempo richiesto minore del calcolo dell’inversa

ci assicuriamo che il det di A sia diverso da zero Esempio A = [1 1 1; 1 1 -1; 1 -1 1]; b = [3 2 2]’; det(A) x = A\b Comandi da eseguire ci assicuriamo che il det di A sia diverso da zero

Il comando rref Per studiare e risolvere un sistema qualunque si deve ridurre la matrice completa (A|b) Si usa il comando rref(reduced row echelon form ) rref(A) rref calcola una matrice R ridotta ed quivalente per righe alla matrice A. La matrice ridotta è determinata mediante la pivotizzazione parziale e l’algoritmo di Gauss-Jordan: in ogni colonna si cerca il pivot con val assoluto + grande, la riga è portata al primo posto utile e viene SUBITO divisa x il pivot. Tutta la colonna del pivot è annullata con op elementari anche sopra la riga del pivot rrefmovie consente di visualizzare passo dopo passo l’algoritmo rrefmovie(A)

A quadrata singolare A = [3 4 -1; 5 2 3; 0 1 -1]; b = [14 14 2]’; per vedere se il sistema è risolubile confrontiamo il rango di A con quello della matrice completa (A|b) A = [3 4 -1; 5 2 3; 0 1 -1]; b = [14 14 2]’; rank(A) rank([A b]) rref([A b]) questo sistema è risolubile in quanto rango(A)=rango(A|b)=2 => ∞ soluzioni

A rettangolare A = [1 0 1; 0 -1 0]; b = [0 1]’; rank(A) rank([A b]) rref([A b]) questo sistema è risolubile in quanto rango(A)=rango(A|b)=2 => ∞ soluzioni

…riassumendo… A quadrata NON singolare A quadrata singolare o A m x n Matlab ci fornisce la soluzione A quadrata singolare o A m x n rref ci restituisce la matrix ridotta le soluzioni le dobbiamo scrivere noi a partire dalla matrix ridotta ottenuta x = A\b rank(A) rank([A b]) rref([A b])

Esercizi Studiare e risolvere, eventualmente, i seguenti sistemi lineari: Lanciare per l’ultima matrice il comando rrefmovie([A b])

Fattorizzazione LU dove: U è la matrice triangolare superiore ottenuta da A mediante l’algoritmo di Gauss con pivotizzazione parziale L è una matrice quadrata invertibile e “a meno di permutazioni delle righe” è una matrice triangolare inferiore con tutti 1 sulla diagonale Un altro modo di realizzare l’algoritmo di Gauss per Ax=b con A quadrata non singolare è quello di passare attraverso la fattorizzazione LU

LU in MAtlab A=[1 0 1 1 3 2 1 -3 -8] det(A) [L U] = lu(A) 1 3 2 1 -3 -8] det(A) [L U] = lu(A) In questo caso L è triangolare inferiore in quanto nn si effettuano scambi di righe nell’algo di gauss con pivot parziale

Risoluzione di un sistema con LU sistema triangolare In Matlab [L U] = lu(A); y = L\b; x = U\y Il tempo complessivo richiesto dai tre comandi equivale a quello richiesto dall’algoritmo Gaussiano

Quando conviene usare LU? Quando si hanno più sistemi con la stessa matrice dei coefficienti A conviene decomporre una sola volta A in LU e risolvere i sistemi lineari con i comandi precedenti => risparmio di tempo [L U] = lu(A); y = L\bi; i=1,…,k x = U\y;

M-file E’ possibile scrivere degli script in Matlab cliccando su new File -> New -> M-file Dovendo eseguire + volte uno stesso comando complesso nn occorre ricopiarlo ogni volta. Si puo’ scirvere il comando in uno “script” che viene registrato in un file detto m-file. Lo script puo’ essere richiamato quando necessario

Editor Dopo aver scritto i comandi si salva il file cliccando su save Il ; evita che siano stampati i risultati intermedi Dopo aver scritto i comandi si salva il file cliccando su save si assegna un nome al file (es. prova_lu.m)

Richiamare lo script si definiscono A e b si richiama lo script prova_lu

Esercizio Dopo essersi accertati che il sistema ammette un’unica soluzione trovare la soluzione con Gauss e mediante la decomposizione LU

Esercizi Provare a scrivere uno script per risolvere un sistema triangolare con il metodo di Cramer Studiare il seguente sistema

Esercizio Sia H la matrice di Hankel 7x7 del vettore v = (7,6,…,1) (si genera col comando hankel(v) ) Costruire una matrix A 7x7 t.c. le prime 6 righe e 6 colonne siano tratte da H l’ultima colonna sia la successione 7,6,…,1 l’ultima riga sia la successione 3*7-1,3*7-4,…1 Risolvere se possibile il sistema lineare Ax = b, dove b=(0 1 2 2 2 1 1)T Scrivere le soluzioni