Informatica B

Похожие документы
MATRICI E VETTORI APPROFONDIMENTO PER IL CORSO DI LABORATORIO DI INFORMATICA SARA POLTRONIERI

determinante della sottomatrice ottenuta da A cancellando la i-esima riga e la j-esima colonna

Introduzione soft alla matematica per l economia e la finanza. Marta Cardin, Paola Ferretti, Stefania Funari

Anno 4 Matrice inversa

= elemento che compare nella seconda riga e quinta colonna = -4 In generale una matrice A di m righe e n colonne si denota con

Argomento 13 Sistemi lineari

Esercizio 1. Esercizio 2

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

Corso di Geometria BIAR, BSIR Esercizi 3: soluzioni

Metodi per la risoluzione di sistemi lineari

ESERCIZI SULLE MATRICI

2 Sistemi lineari. Metodo di riduzione a scala.

Corso di Geometria BIAR, BSIR Esercizi 4: soluzioni

Corso di Matematica e Statistica 3 Algebra delle matrici. Una tabella rettangolare: la matrice. Una tabella rettangolare: la matrice

2x 5y +4z = 3 x 2y + z =5 x 4y +6z = A =

Determinanti. Definizione ed esempi. Definizione ed esempi. Proprietà dei determinanti Rango di matrici

Corso di Geometria BIAR, BSIR Esercizi 2: soluzioni

Sui determinanti e l indipendenza lineare di vettori

ALGEBRA LINEARE PARTE III

Matrici. Prof. Walter Pugliese

ESERCITAZIONE CON EXCEL SULLE MATRICI

Vettori e Matrici. Corso di Calcolo Numerico. 24 Aprile 2018

Esercizi svolti. risolvere, se possibile, l equazione xa + B = O, essendo x un incognita reale

SISTEMI LINEARI. x y + 2t = 0 2x + y + z t = 0 x z t = 0 ; S 3 : ; S 5x 2y z = 1 4x 7y = 3

SISTEMI LINEARI: APPROFONDIMENTI ED ESEMPI

Esercizi di MatLab. Sommario Esercizi di introduzione a MatLab per il corso di Calcolo Numerico e Laboratorio, A.A

Metodi per la risoluzione di sistemi lineari

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

12 Function Handles e Ricorsione in MATLAB

Geometria BIAR Esercizi 2

( ) TEORIA DELLE MATRICI. A. Scimone a.s pag 1

ALGEBRA LINEARE PARTE II

15 Riepilogo di esercizi in MATLAB

Esercitazione di Matematica su matrici e sistemi lineari

UNIVERSITÀ DEGLI STUDI DI PAVIA FACOLTÀ DI INGEGNERIA. Matlab: esempi ed esercizi

ossia può anche essere localizzato univocamente sul piano complesso con la sua forma polare.

Esercitazione 6 - Soluzione

3. Matrici e algebra lineare in MATLAB

Il teorema di Rouché-Capelli

Транскрипт:

2013-2014 Matlab Laboratorio del 14/01/2014 Responsabili di laboratorio: Gianluca Durelli: durelli@elet.polimi.it Luigi Malago : malago@di.unimi.it Materiale di laboratorio reperibile all indirizzo: www.gianlucadurelli.com

Materiale per gli esercizi I file che vengono usati negli esercizi sono ottenibili all indirizzo: www.gianlucadurelli.com/#teaching https://beep.metid.polimi.it/web/durelli/infob

Esercizio 1 Scrivere una funzione che ricevuti in ingresso una matrice A NxM (matrice dei coefficienti) ed un vettore B Nx1 (vettore dei termini noti) ritorni la soluzione del sistema lineare: Ax = B Si ricorda che la soluzione del sistema e ottenibile in matlab con una semplice divisione

Esercizio 2 Scrivere un programma che ricevuta in ingresso una matrice 2x2 ne calcoli il determinante. Data una matrice 2x2 quadrata A di elementi a(i,j) il determinante si ottiene come: Det(A) = a(0,0)*a(1,1) a(0,1)*a(1,0) Si controlli il risultato della funzione confrontandolo con la funzione det di Matlab.

Esercizio 3 Definire una funzione controlla_riga che accetta in ingresso un array di dimensione 1 x 9. La funzione restituisce 1 se tutti gli elementi dell'array sono compresi tra 1 e 9, altrimenti restituisce 0 (la funzione restituisce 0 anche se l'array in ingresso ha dimensione diversa da 1 x 9). Estendere la funzione precedente con il seguente ulteriore requisito: la funzione restituisce 0 anche se nell'array vi sono elementi duplicati, altrimenti restituisce 1. Ad esempio: controlla_riga([3 2 1 4 7 6 5 9 8]) = 1 controlla_riga([9 2 1 4 7 6 5 9 8]) = 0 (il 9 compare due volte). Suggerimento: potrebbe essere utile prima ordinare il vettore con l'istruzione sort(vettore).

Esercizio 4 Definire una funzione che verifica la correttezza di una soluzione del gioco del sudoku semplificato. Nel sudoku semplificato una soluzione e' rappresentata da una matrice 9x9 in cui per ogni riga e colonna della matrice valgono le seguenti proprietà': Gli elementi sono numeri interi nell'intervallo [1,9]. Non ci sono ripetizioni Verificare la funzione con le matrici a, b, c, d, e contenute nel file sudoku.mat

Esercizio 5 Definire una funzione che verifica la correttezza di una soluzione del gioco del sudoku classico. Una soluzione nel sudoku classico rispetta le proprieta' elencate nell'esercizio precedente piu' la seguente proprieta': Dividendo la matrice soluzione 9x9 in 9 sottomatrici 3x3 (non sovrapposte), ciascuna di queste sottomatrici contiene numeri da 1 a 9 senza ripetizioni. Verificare la funzione con le matrici a, b, c, d, e contenute nel file sudoku.mat

Esercizio 6 Scrivere una funzione che ricevuto in ingresso un numero calcoli il numero di cifre che lo compongono. Si risolva l esercizio sia in maniera iterativa che in maniera ricorsiva.

Esercizio 7 Scrivere una funzione che ricevuto in ingresso un numero calcoli il numero che si ottiene invertendone le cifre. Si risolva l esercizio sia in maniera iterativa che in maniera ricorsiva.

Esercizio 8 Si scriva un funzione che permetta di applicare il metodo di bisezione di Newton per la ricerca degli zeri di una funzione. La funzione deve ricevere in ingresso: i coefficienti di un equazione di grado N del tipo: y N a i * x i 0 i due valori della variabile X che determinano un intervallo di ricerca opportuno (Nell intervallo la funzione deve essere monotona) Un valore di tolleranza che identifica l intervallo di ricerca minimo a cui arrivare. La funzione deve ritornare lo zero della funzione nel caso in cui esista oppure stampare a video un messaggio che comunichi che la funzione non ha zeri nell intervallo selezionato. Si verifichi la soluzione stampando il grafico della funzione nell intervallo in questione i

Esercizio 9 Se si e risolto l esercizio precedente con una funzione iterativa lo si trasformi utilizzando la ricorsione, oppure viceversa.

Esercizio 10 Il teorema di Laplace o sviluppo di Laplace è una formula che permette di calcolare il determinante di una matrice (quadrata). Supponiamo di avere una matrice quadrata M di dimensione n e di elementi m ij. La matrice M ij è la sottomatrice (di dimensione n 1) che si ottiene da M cancellando la i-sima riga e la j-sima colonna. Il valore det( M ) è detto minore complementare dell'elemento m. ij ij i j Il valore ( 1) det( M ) ij è detto cofattore o complemento algebrico dell'elemento m ij. Il teorema afferma che presa una qualunque riga i, il determinante della matrice M e dato dalla seguente formula: det( M ) j ( m ij ( 1) det( M Si scriva una funzione che ricevuta in ingresso una matrice di dimensione n, ne calcoli il determinante. Si controlli il risultato confrontandolo con la funzione det di Matlab i j ij ))

Esercizio 11 Scrivere una funzione che riceva in ingresso una matrice quadrata 3x3 e ne calcoli il rango. La definizione pratica per il calcolo del rango e la seguente: Prese tutte le possibili sottomatrici che si possono ottenere cancellando righe oppure colonne, il rango della matrice originale e dato dalla dimensione massima della matrice per cui si ha un determinante diverso da 0. Quindi: Se la matrice originale ha determinante diverso da 0 il rango sara 3 Altrimenti controllo tutte le sottomatrici 2x2 e se una di queste ha determinante diverso da 0 allora il rango e 2 Altrimenti controllo tutte le sottomatrici 1x1 e se una di queste ha determinante diverso da 0 allora il rango e 1 Altrimenti, se tutti gli elementi sono 0, il rango e 0. Per il calcolo del determinante si puo usare la funzione dell esercizio precedente oppure la funzione det di Matlab Si confronti il risultato con la funzione rank di matlab.

Buon lavoro!