Corso Matlab : Seconda lezione (Esercitazione, 10/05/13) Samuela Persia, Ing. PhD.

Documenti analoghi
Advanced level. Corso Matlab : Samuela Persia, Ing. PhD.

PON Liceo Scientifico Leonardo da Vinci. Vallo della Lucania

Introduzione al MATLAB c Parte 2 Funzioni

ESERCITAZIONE MATLAB

MATLAB parte II. Array

Introduzione. MATLAB è l acronimo di MATrix LABoratory

Arrays. Vector array. Matrix array. Row vector. 2D matrix. 1 2 Column vector

Variabile, costante ed espressione

Corso Matlab : Terza lezione (Esercitazione, 04/10/13) Samuela Persia, Ing. PhD.

3. Matrici e algebra lineare in MATLAB

Inversa di una matrice quadrata. L operatore inv() inverte una matrice quadrata non singolare (cioè in cui il determinate è diverso da zero).

Vettori e Matrici. Vettori. Vettori e matrici: dati. Vettori di caratteri Polinomi. Dimensione (Size) numero di righe e di colonne della matrice

Elaborazione di Dati e Segnali Biomedici

Il programma OCTAVE per l insegnamento dell algebra lineare nella Scuola Secondaria p. 1

1 Esercizi di Matlab. L operatore : permette di estrarre sottomatrici da una matrice assegnata. Vediamo alcuni esempi.

A = Quindi > b=a(:) b =

MATLAB (1) Introduzione e Operazioni con array

Anno 4 Matrice inversa

Vettori e matrici. Lorenzo Pareschi. Dipartimento di Matematica & Facoltá di Architettura Universitá di Ferrara

Aritmetica in Floating Point

Laboratorio 1 Introduzione a Matlab R - Octave

Confronto tra stringhe. (modulo) Calcolo della media e della varianza. Ecco un elenco di codici Matlab: - Calcolo valore assoluto (modulo)

Lezione 4 - Esercitazioni di Algebra e Geometria - Anno accademico

MATRICI (ARRAY) IN MATLAB/OCTAVE

Esercitazioni di Algebra e Geometria

Prove d esame Esercizi con Matlab

Laboratorio di Python

y (b) f(x, y) = y log x sin x (c) f(x, y) = tan y (d) f(x, y) = e x y (f) f(x, y) = cos(x 2 + y 2 )

3. Vettori, Spazi Vettoriali e Matrici

Introduzione a Matlab (e al Calcolo Numerico)

Informatica B. Facoltà di Ingegneria Industriale Laurea in Ingegneria Energetica, Meccanica e dei Trasporti. Prof. Marco Masseroli

MATEMATICA GENERALE Prova d esame del 4 giugno FILA A

Laboratorio 1. Introduzione a Matlab

MATRICI E VETTORI APPROFONDIMENTO PER IL CORSO DI LABORATORIO DI INFORMATICA SARA POLTRONIERI

Complementi di Matematica e Calcolo Numerico A.A Laboratorio 4 - Polinomi e Interpolazione polinomiale

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

Introduzione a Matlab Costruzione di Macchine 2 Prof. Sergio Baragetti

Formule e funzioni. Manuale d uso

Introduzione al MATLAB c Parte 1 Variabili ed array

Geometria BIAR Esercizi 2

Appunti sull uso di matlab - I

Introduzione a MATLAB

Le matrici. Sia K un campo con elemento neutro dell addizione 0 ed elemento neutro della moltiplicazione 1.

Imparare a utilizzare le formule e le funzioni

UNIVERSITÀ DEGLI STUDI DI PAVIA FACOLTÀ DI INGEGNERIA. Introduzione a Matlab

Informatica Applicata al Suono Tutorial Matlab

Laboratorio di Statistica e Analisi Dati: Lezione 2

Prova di Laboratorio del [ Corso A-B di Programmazione (A.A. 2004/05) Esempio: Media Modalità di consegna:

1) Quali dei seguenti sottoinsiemi del campo dei numeri reali ℝ sono sottospazi vettoriali?

Mini-Corso di Informatica

MATLAB (II parte) Commenti. Input/Output (I/O) Istruzioni di Input/Output (I/O)

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

MICROSOFT EXCEL FORMULE E FUNZIONI

Introduzione al MATLAB c Parte 1

Esempio B2.1: dire il grado del monomio seguente rispetto ad ogni lettera e il suo grado complessivo:

Polinomi. E. Modica Didattica OrizzonteScuola. Polinomi Operazioni con i polinomi Prodotti notevoli

a + 2b + c 3d = 0, a + c d = 0 c d

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

EXCEL: FORMATTAZIONE E FORMULE

Corso di Geometria BIAR, BSIR Esercizi 2: soluzioni

Calcolo Numerico (A.A ) Lab n. 12 Approssimazione

Il foglio elettronico Excel: Funzioni, grafici, ordina e filtri

LEZIONE DI MATLAB 2.0. Ing.Irene Tagliente

Sistemi lineari - Parte Seconda - Esercizi

INTRODUZIONE A MATLAB

Metodi e Modelli per l Ottimizzazione Combinatoria Ripasso sulla Programmazione Lineare e il metodo del Simplesso (parte I)

Matrici quadrate particolari

25 IL RAPPORTO INCREMENTALE - DERIVATE

Sapienza Università di Roma Corso di laurea in Ingegneria Energetica Geometria A.A ESERCIZI DA CONSEGNARE prof.

SISTEMI LINEARI. x 2y 2z = 0. Svolgimento. Procediamo con operazioni elementari di riga sulla matrice del primo sistema: R 2 R 2 3R

Cenni sull utilizzo dei fogli elettronici

Advanced level. Corso Matlab :

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale

Complementi di Matematica e Calcolo Numerico A.A Laboratorio 1 - Introduzione a MATLAB

Monomi e Polinomi. Monomio Si dice monomio un espressione letterale in cui figurano solo operazioni di moltiplicazione.

Lezioni su MATLAB. Ingegneria Civile/Meccanica

INTRODUZIONE A MATLAB Matrix Laboratory

Derivate. Rette per uno e per due punti. Rette per uno e per due punti

Campo di Esistenza. Il campo di esistenza di una funzione f è il dominio più grande su cui ha significato la legge f.

Esercitazione di Analisi Matematica II

Versione di Controllo

IL CRITERIO DELLA MASSIMA VEROSIMIGLIANZA

La simulazione con DERIVE Marcello Pedone LE SIMULAZIONI DEL LANCIO DI DADI CON DERIVE

Espressioni. Operatori aritmetici e metodi della classe java.lang.math

Richiami di aritmetica

Corso di Laurea in Chimica e Tecnologia Farmaceutiche Matematica con Elementi di Informatica COMPITO 19 Febbraio 2016

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

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

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

Introduzione al MATLAB c

Introduzione al software R

FUNZIONI E INSIEMI DI DEFINIZIONE

CORSO DI LAUREA IN INGEGNERIA ELETTRICA

La matematica del CAD. Vettori e Matrici

Variabili aleatorie scalari

Appunti su Indipendenza Lineare di Vettori

Manuale di MATLAB. (livello base)

Elaborazione di Dati e Segnali Biomedici

Funzioni. iniettiva se x y = f (x) f (y) o, equivalentemente, f (x) = f (y) = x = y

Complementi di Matematica e Calcolo Numerico A.A Laboratorio 1 - Introduzione a MATLAB

Transcript:

Advanced level Corso Matlab : Seconda lezione (Esercitazione, 10/05/13) Samuela Persia, Ing. PhD.

Sommario Richiami Teoria Cenni Esercizi: Semplici operazioni matematiche Array Matrici

Richiami Teoria Per lavorare in una sessione di lavoro occorre: Aprire Matlab Scrivere nella sezione Command Window Tutte le varaibili create saranno visibili nella sezione WorkSpace Una volta chiuso Matlab tutti i dati creati in questo modo verrano persi

Richiami Teoria Logaritmo in base naturale: log() in base 2: log2() in base 10: log10() Funzioni trigonometriche Seno: sin() Coseno: cos() Tangente: tan()

Richiami Teoria Array Si definisce con una coppia di parentesi quadre: [] linspace(i,f,n): genera un array di n elementi da i a f con punti equidistanti logspace(i,f,n): genera un array di n elementi da 10 i a 10 f con punti log-aritmicamente equidistanti operatore : per selezionare un sottoinsieme di valori mean(): fornisce la media dei valori dell array std(): fornisce la deviazione standard dei valori dell array

Richiami Teoria Array max (x) restituisce il valore più grande di x se x è un vettore; se x è una matrice restituisce un vettore riga i cui elementi corrispondono ai valori più grandi delle corrispondenti colonne di x min (x) equivalente a max(x) con la differenza che restituisce i valori più bassi ndims (x) restituisce il numero di dimensioni di un array

Richiami Teoria Array size (x) restituisce un vettore riga con due valori [i j] uguali al numero di righe e colonne di x length (x) restituisce il numero degli elementi di x sum (x) restituisce la somma dei valori di x se x è un vettore; se x è una matrice restituisce un vettore riga i cui elementi corrispondono alla somma degli elementi di ciascuna colonna di x sort (x) restituisce un array della stessa dimensione di x; se x è un vettore, ordina gli elementi in senso crescente; se x è una matrice, ordina ogni singola colonna

Richiami Teoria Matrici Si definisce con una coppia di parentesi quadre con il ; che separa le righe dalle colonne: [;] Matrici speciali eye (n): crea una matrice identità nxn ones (n): crea una matrice nxn i cui elementi sono uguali a 1 zeros (n): crea una matrice nxn i cui elementi sono uguali a 0 ones (m,n): crea una matrice mxn i cui elementi sono uguali a 1 zeros (m,n): crea una matrice mxn i cui elementi sono uguali a 0

Operazioni Matematiche Esercizio1: Dopo aver avviato una sessione di lavoro, definire le variabili x=10 e y=3, ed effettuare i seguenti calcoli: 1. u = x + y [13] 2. v = xy [30] 3. w = x/y [3.3333] 4. z = sin x [-0.5440] 5. r = 8 sin x [-4.3522] 6. s = 5 sin (2y) [-1.3971] 7. p = x y [1000] 8. k = x y/x [1.9953] 9. f sin(x y) [0.6482] 10. g x 5 y [1.1547]

Operazioni Matematiche Svolgimento Esercizio1 1. Aprire Matlab 2. Scrivere nel Command Window 3. x = 10; 4. y = 3; Svolgimento 1-1: u=x+y u=x+y u= 13 Nota: senza ; si visualizza il valore

Operazioni Matematiche Svolgimento 2-1: v = xy v = x * y Svolgimento 3-1: w = x/y w = x / y Svolgimento 4-1: z = sinx z = sin(x) Svolgimento 5-1: r = 8 sin x r = 8* sin(x)

Operazioni Matematiche Svolgimento 6-1: s = 5 sin(2y) s = 5*sin(2*y) Svolgimento 7-1: p=x y p = x^y Svolgimento 8-1: k=x y/x k = x^(y/x)

Operazioni Matematiche Svolgimento 9-1: f sin(x y) f = sqrt(sin(x+y)) Svolgimento 10-1: g = x/(5*sqrt(y)) g 5 x y Nota: nelle espressioni si usano solo le parentesi tonde, quindi la precendenza delle operazione si ottengono con l annidamento delle parentesi

Operazioni Matematiche Esercizio2: calcolare i seguenti logaritmi: 1. Logaritmo naturale di 24 [3.1781] 2. Logaritmo in base 2 di 73 [6.1898]

Array (uso di [] e linspace) Esercizio3: Creare il vettore i cui elementi sono linearmente intervallati con incrementi di 0.4 tra 2 e 14. Utilizzare due metodi diversi. Esercizio4: Creare il vettore che ha 100 elementi linearmenteintervallatitra5e28.utilizzaredue metodi diversi.

Array (uso di [] e linspace) Svolgimento 3-1: Array utlizzando [] A=[2:0.4:14] E unarraydi31elementi Svolgimento 3-2: Array utlizzando linespace n1=(14-2)/0.4 A=linspace(2,14, n1+1) Nota: devo aggiungere 1 altrimenti otterrei un vettore di 30 elementi Svolgimento 4-1: Array utlizzando [] n2=(28-5)/(100-1); B=[5:n2:28] Svolgimento 4-2: Array utlizzando linespace B=linspace(5,28,100) Nota: devo togliere 1 altrimenti otterrei un vettore 101 elementi

Array (uso di [] e linspace) Conclusione: Quando il passo è noto è meglio usare la coppia di parentesi quadre per generare l array Quando il passo non è noto ma è noto il numero max di elementi è meglio usare la funzione linespace per generare l array

Array (uso di logspace) Esercizio5: Creare il vettore che ha 50 elementi logaritmicamente intervallati tra 10 e 1000. Svolgimento 5: D = logspace(1, 3, 50); Nota: in logspace si inserisce la potenza di 10 per ottenere l estremo dell array desiderato

Array Esercizio 6: Definito il vettore x=[-3, 4, 2, 1, 0, 2, 3, 5, 10] calcolare: 1. Numero di elementi del vettore x 2. La dimensione in termini di numero di righe e numero di colonne di x 3. media di x 4. assegnare agli elementi con indici pari il valore 7, digitando un unico comando (suggerimento: usare l operaotore : )

Array Svolgimento 6-3: mean(x) Svolgimento 6-4: x(2:2:8) = 7 -OPPURE- x(2:2:end) = 7 x = -3 7 2 7 0 7 3 7 10 Nota: L operatore due punti (:) permette di selezionare sottoinsiemi di valori all interno di un array.

Array Esercizio7: Definito il vettore x=[2, 3, 4, 5, 6, 7, 12], costruire a partire da esso il vettore y y= 2, 3, 4, 5, 6, 7, 12, 12, 7, 6, 5, 4, 3, 2.

Array Svolgimento 7: x=[2, 3, 4, 5, 6, 7, 12], Il vettore y è caratterizzato da: 1. è dato dalla concatenazione di 2 x essendo x composto da 7 elementi e y da 14 2. Gli elementi da 8 al 14 sono gli elementi x ordinati dal più grande al più piccolo Quindi 1. y=[x x]

Array Svolgimento 7: y= Columns 1 through 13 2 3 4 5 6 7 12 2 3 4 5 6 7 Columns 14 through 26 12 2. y1=sort(x,2,'descend') 3. y(8:end)=y1 y= Columns 1 through 13 2 3 4 5 6 7 12 12 7 6 5 4 3 Columns 14 through 26 2 Nota: devo specificare l indice di righe o colonne e il tipo di ordinamento

Matrici Esercizio8: Data la seguente matrice: Determinare 1. il vettore «a» composta dalla seconda colonna 2. la media del vettore «a» 3. la matrice X composta dagli elementi appartenenti alla prima e terza riga ed alla seconda e quarta colonna

Matrici Svolgimento 8: Matrice A: A=[1 0 6-3; 1 2 0 2; 0 3-1 -2; 0 3-1 -2; -6 0 41] 1. a=a(:,2) Rows 1 through 4 0 2 3 0 2. mean(a) 3. X=A([1 3],[2 4])

Matrici Esercizio 9: Dopo aver creato un array x con 8 valori compresi tra 2 e 16. Creare una matrice A1 tale che: 1. la prima riga contenga i valori 3x 2. la seconda riga tutti 1 3. la terza riga contenga i valori x-8 una matrice A2 tale che: 4. scambiare la prima e la terza riga di A1.

Matrici Svolgimento 9: x=linspace(2,16, 8); A=ones(3,8); a1=3*x; a3=x-8; A(1,:)=a1; A(3,:)=a3; A1=A A= 6 12 18 24 30 36 42 48 1 1 1 1 1 1 1 1-6 -4-2 0 2 4 6 8 A(1,:)=a3; A(3,:)=a1; A2=A

Richiami Teoria Prodotto tra Matrici e Array Si definiscono tre tipi di prodotti (e analogamente divisioni): Prodotto elemento per elemento La moltiplicazione tra l array A e l array B, di stessa dimensione, elementoper-elemento (.*) restituisce un nuovo array C i cui elementi sono il prodotto dei corrispondenti elementi di A e di B. Sintassi A.*B C=A.*B A[n1, m1] B[n2, m2] n=n1 = n2 C[n,m] m=m1=m2

Richiami Teoria Prodotto scalare: il prodotto scalare è un operazione tra un vettore riga a=[a1,, an] ed un vettore colonna b=[b1,, bn] aventi entrambi n elementi. E definito come il valore scalare ottenuto dalla somma dei prodotti degli elementi corrispondenti dei due vettori: a1*b1+ +an*bn. Sintassi a*b C=A*B A[1, m1] B[n2, 1] m1=n2 C[1, 1]

Richiami Teoria Prodotto matrice-vettore: È una generalizzazione del prodotto scalare. Richiede che il numero di colonne della prima matrice coincida con il numero di righe della seconda matrice. C=A*B A[n1, m1] B[n2, m2] C[n1, m2] m1 = n2

Matrici Esercizio10: Data x definita nell intervallo [1,5] con passo 0.1,tabellare le funzioni e graficarle 1. y1= log x 2. y2=e 3x sin(5πx) Nota1: Con il termine tabellare si intende creare una tabella, tale che la prima colonna rappresenti la variabile x e la seconda la variabile y. Nota2: Ilπ in Matlab si indica con pi Nota3: il grafico si effettua con la funzione plot

Matrici Svolgimento 10-1: 1. x=[1:0.1:5] 2. y1=log(x) 3. A =[x; y1] 4. Tab=A ; 5. Plot(x,y1) Nota con si ottiene la matrice trasposta

Matrici Svolgimento 10-2: 1. y2=exp(3*x).* sin(5*pi*x); 2. A1 =[x; y2] 3. Tab1=A1 ; 4. Plot(x,y2).* permette di fare il prodotto elemento per elemento

Matrici Esercizio11: Date le seguenti matrici ( 7 16 ) ( 6 5 ) A = B = 4 9 12 2 ( 3 9 ) C = 6 2 1. Calcolare il prodotto elemento per elemento di A per B 2. Elevare al quadrato gli elementi di B 3. Elevare alla 3 la prima riga di C

Matrici Svolgimento 11-1: La moltiplicazione tra A e B elemento-perelemento (.*) restituisce una nuova matrice D i cui elementi sono il prodotto dei corrispondenti elementi di A e di B. La sintassi è.* D=A.*B

Matrici Svolgimento 11-2: Il cubo della matrice B si ottiene facendo la moltiplicazione elemento-per-elemento tra B e B(.*) B2=B.*B Svolgimento 11-2: C2=C.*C C3=C2.*C -> OPPURE C3= (C.*C).*C

Matrici Esercizio12: La seguente tabella riporta il consumo medio, i km percorsi e l indice di affidabilità di 5 diverse automobili. 1 2 3 4 5 Consumo km/l Km percorsi 11.2 8.8 9.1 12 16.4 240 550 302 667 980 Affifabilità 0.921 0.454 0.980 0.777 0.602 1. Calcolare i litri di benzina consumati da ogni automobile 2. Calcolare il consumo medio delle 5 automobili prese in esame 3. Calcolare la percorrenza media delle 5 automobili prese in esame 4. Usare le funzioni corrette per determinare l auto più affidabile e quella che consuma di meno

Matrici Svolgimento 12: Creo i vettori Vetture=[12345] Consumo =[11.2 8.8 9.1 12 16.4] km_percorsi=[240 550 302 667 980]; Affidab = [0.921 0.454 0.980 0.777 0.602] litri = km percorsi/consumo quindi per calcolare i litri devo fare una divisone elemento per elemento (./) 1. litri =km_percorsi./consumo; 2. mean(consumo) 3. mean (km_percorsi) 4. auto più affidabile: max(affidab) 5. consuma di meno min(consumo)

Matrici Esercizio 13: Data la matrice 3 7 4 12 D = 5 9 10 2 ( ) 6 13 8 11 15 5 4 1 Calcolare 1. i valori minimi e massimi di ogni colonna. 2. i valori minimi e massimi di ogni riga.

Matrici Svolgimento 13-1: La funzione min e max per una matrice A restituisce un vettore riga i cui elementi corrispondono ai valori più piccoli (grandi) delle corrispondenti colonne di A Costruiamo A >> min(a) ans = 5 5 4 1 >> max(a) ans = 15 13 10 12

Matrici Svolgimento 13-2: Per avere il min e max di ogni riga devo considerare l inversa A1=A A1 = 3-5 6 15 7 9 13 5-4 10 8 4 12 2 11 1 A2=min(A1) -> -4-5 6 1 Amin=A2 ; A3=max(A1) -> 12 10 13 15 Amax=A3 ;

Matrici Svolgimento 13-2: C è un modo più semplice di trovare il minimo e massimo per righe ossia consultare l help Min(A, [], 2) permette di trovare il minimo per righe Max(A, [], 2) permette di trovare il massimo per righe

Matrici Esercizio 14: Data la matrice 3 58 4 3 G = 5 42 80 2 ( ) 6 19 9 55 17 5 44 1 1. Ordinare gli elementi di ogni colonna in ordine crescente e assegnare il risultato all array H 2. Ordinare gli elementi di ogni riga e assegnare il risultato all array I 3. Sommare gli elementi di ogni colonna e assegnare il risultato all array L 4. Sommare gli elementi di ogni riga e assegnare il risultato all array M

Matrici Svolgimento 14-1: La funzione sort per una matrice A restituisce una matrice i cui elementi di ogni colonna sono ordinati in modo crescente Costruiamo G H=sort(G) H= 17 19 4 1 5 5 9 2 3 42 44 3 6 58 80 55

Matrici Svolgimento 14-2: Per ordinare ogni riga bisogna prima considerare l inversa di G G1=G G1 = 3-5 6-17 58 42-19 5-4 80 9 44 3 2 55 1

Matrici Svolgimento 14-2: I1= sort(g1) I1 = -4-5 -19-17 3 2 6 1 3 42 9 5 58 80 55 44 e poi fare la trasposta =I1 si avranno tutte le righe della matrice originale G ordinate in modo crescente I= -4 3 3 58-5 2 42 80-19 6 9 55-17 1 5 44

Matrici Svolgimento 14-3: Per sommare ogni colonna si usa la funzione sum L=sum(G) L= -13 86 129 61 Svolgimento 14-4: Per sommare ogni riga si usa la funzione sum della matrice inversa di G e poi fare la trasposta di nuovo M1=sum(G1) M1 = 60 119 51 33 M=M1

Matrici Domanda Svolgimento esercizio 14: C è un modo più semplice di trovare l ordinamento per righe e la somma per righe? Consultare l help delle funzioni ordinamento per righe di G» I=sort(G,2) Somma per righe di G» I=sum(G,2)

Matrici Esercizio 15: Creare un array tridimensionale D le cui tre pagine siano le seguenti matrici ( ) 12 34 4 A = 77 21 1 3 5 9 ( 11 41 14 ) C = 7 1 12 31 15 94 ( 6 5 7 ) B = 16 24 2 23 19 27 1. Trovare l elemento massimo in ogni strato di D e l elemento massimo di D.

Matrici Svolgimento 15: L array tridimensionale sarà composto da tre indici. Ogni matrice costituirà una pagina dell array D = zeros (3,3,3) (per creare una matrice 3 D) D(:,:,1) = 0 0 0 0 0 0 0 0 0 D(:,:,2) = D(:,:,3) =

Matrici Svolgimento 15: D(:,:,1)=A; D(:,:,2)=B; D(:,:,3)=C; D1=max(A); D2=max(B); D3=max(C) Dmax=[D1D2D3] max(dmax)

Samuela Persia spersia@fub.it