Introduzione a MATLAB Stefano Vigogna Dipartimento di Matematica

Slides:



Advertisements
Presentazioni simili
Dipartimento di Matematica
Advertisements

Laboratorio Processi Stocastici
Dipartimento di Matematica
Lezione 8 Anno accademico Titolare corso: Prof. Costanza Torricelli
Realizzato da Alberto Jurij Plazzi
MATLAB Cristina Campi
MATLAB.
MATLAB.
MATLAB.
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.
Introduzione a Matlab. Che cosa è Matlab Matlab è §un linguaggio di programmazione §un ambiente di calcolo scientifico con routines altamente specializzate.
1 a lezione - laboratorio a.a Corso di Laurea Ingegneria MECCANICA.
2 a lezione - laboratorio a.a Corso di Laurea Ingegneria MECCANICA.
3 a lezione - laboratorio a.a Corso di Laurea Ingegneria MECCANICA.
Corso di Matlab_Simulink per Ingegneria 3
Matlab Annalisa Massini Matlab.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 5 – Info B Marco D. Santambrogio – Riccardo Cattaneo –
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.
MATLAB. …oggi… Programmare in Matlab Programmare in Matlab Funzioni Funzioni Cicli Cicli Operatori relazionali Operatori relazionali Esercizi vari Esercizi.
Metodi iterativi G. Puppo.
Introduzione a Matlab Gabriella Puppo. Che cosa è Matlab Matlab è §un linguaggio di programmazione §un ambiente di calcolo scientifico con routines altamente.
Algebra lineare G. Puppo.
Esercizi di riepilogo Gabriella Puppo.
Soluzione FEM di problemi parabolici
Funzioni matematico – statistiche I comandi matematici di più comune utilizzo, applicabili a scalari e matrici, sono: Sqrt(x), che calcola la radice quadrata.
Importazione di dati Nellambito dellutilizzo di qualsiasi software statistico una necessità è quella di importare dati esterni forniti dallutilizzatore.
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).
Trimr Gauss, tra le altre, fornisce una preziosissima funzione che risulta di estrema utilità nell’ambito matriciale. Questa funzione, chiamata trimr(x,t,b),
Creazione di matrici Delimititatore di riga Delimititatore di matrice
Marco Panella MATLAB Marco Panella
Algebra matriciale e linguaggio matriciale in MATLAB
3 a -4 a lezione di laboratorio Laurea Specialistica in Ingegneria Matematica Laurea Specialistica in Ingegneria Matematica a.a
1a-2a lezione di laboratorio
Corso di Laurea in Ingegneria per lAmbiente e il Territorio Informatica per lAmbiente e il Territorio Docente: Giandomenico Spezzano Tutor: Alfredo Cuzzocrea.
ORGANIZZAZIONE DELLA PRESENTAZIONE
Esercitazione 2 – Generazione di variabili Matlab.
INTRODUZIONE A MATLAB.
Università degli Studi di Bari Laurea in Chimica Di spense di Informatica - Dott. F. Mavelli Programmare in Matlab Funzioni di Libreria Funzioni definite.
Lezione 3 Vettori e Matrici.
Università degli Studi di Bari Laurea in Chimica Di spense di Informatica - Dott. F. Mavelli Vettori e Matrici Parte III.
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.
Elementi di Matlab e di Mathematica
Esercitazione 1 - Introduzione Matlab. MATrix LABoratory Command window Current Directory Comandi recenti Variabili correnti Contenuto cartella corrente.
Lezione 1: Introduzione all’uso di Matlab
Esercitazione 1 - Introduzione Matlab. MATrix LABoratory Command window Current Directory Comandi recenti Variabili correnti Contenuto cartella corrente.
Analisi di Immagini e Dati Biologici Introduzione al linguaggio di MATLAB/OCTAVE Parte 2 16 L5.
Lezione 11 Riccardo Sama' Copyright  Riccardo Sama' Excel.
Informatica Applicata al Suono Tutorial Matlab
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Strumenti per il calcolo numerico Matlab/Octave Marco D. Santambrogio – Ver. aggiornata.
INTRODUZIONE A MATLAB Sara Poltronieri. Avvio del programma Avvio di Matlab (Windows) Start  Programmi  Matlab (o icona) Avvio di Matlab (Linux) terminale.
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.
Psicometria modulo 1 Scienze tecniche e psicologiche Prof. Carlo Fantoni Dipartimento di Scienze della Vita Università di Trieste Campionamento.
INTRODUZIONE A MATLAB Corso di Segnali e Sistemi a.a. 2010/2011.
Definizioni preliminari Sommario - Caratteristiche Principali – Assegnazione di variabili - Scrittura e manipolazione di matrici e vettori - Funzioni predefinite.
Transcript della presentazione:

Introduzione a MATLAB Stefano Vigogna Dipartimento di Matematica

Lezione 1 Cosè MATLAB Primo utilizzo Vettori e matrici Esercizi

Cosè MATLAB MATLAB sta per Matrix Laboratory. È un ambiente informatico che integra diverse funzionalità: Calcolo Sviluppo Grafica Analisi dati Simulazione

Alcune potenzialità di MATLAB Calcoli matriciali e operazioni su matrici Risoluzione di sistemi lineari Calcolo di autovalori e autovettori Grafici 2D e 3D Programmazione

Primo utilizzo command window history workspace current directory

Diary e commenti >> diary lezione1 crea nella directory corrente un file di testo lezione1 che registra lintera sessione. Per inserire titoli o commenti: >> % Ad esempio: >> % lezione 1 Alla fine della lezione, >> diary off Per riaprire il diary: >> diary on

Calcolatrice In MATLAB sono definite le operazioni elementari: + - * / ^. Il risultato viene salvato nella variabile ans. È possibile definire e ridefinire una variabile. Ad esempio, >> x = 0 >> x = x + 1

Alcuni utili comandi (1) >> clear x cancella la variabile x. >> clear cancella tutte le variabili. >> who e >> whos stampano sulla finestra dei comandi la lista delle variabili, rispettivamente senza e con informazioni. >> clc ripulisce la finestra dei comandi.

Alcuni utili comandi (2) Con le frecce è possibile richiamare comandi precedenti della storia. Premere Esc per cancellare la riga.

Formati numerici (1) Es: >> >> format short virgola fissa 5 cifre. Es: >> format short e virgola mobile 5 cifre. Es: e+02 >> format short g MATLAB sceglie la rappresentazione migliore a 5 cifre. Es:

Formati numerici (2) >> format long virgola fissa 15 cifre. Es: e+02 >> format long e virgola mobile 15 cifre. Es: e+02 >> format long g Rappresentazione migliore a 15 cifre. Es:

Formati numerici (3) >> format bank fissa dollari e centesimi. Es: >> format rat notazione frazionaria (rapporto fra interi eventualmente approssimante). Es: 10000/81 NB: format determina solo la modalità di stampa, non la precisione di calcolo.

Costanti pi : pi greca i, j : unità immaginaria eps : precisione di macchina realmax, realmin : massimo e minimo numero rappresentabile (realmax * 2 = inf) inf : numero maggiore di realmax NaN (Not a Number): forma indeterminata (0/0, inf/inf, 0*inf, …)

Funzioni In MATLAB sono definite (quasi) tutte le funzioni matematiche: sqrt, exp, log, sin, cos … Per una lista di tutte le funzioni elementari, ordinate per categoria: >> help elfun Per ciascuna funzione, >> help

Help Il comando help è molto utile per ottenere informazioni su funzioni, operatori, caratteri, sintassi, comandi… >> help Es: >> help format … compreso se stesso: >> help help

Vettori e matrici In MATLAB tutte le variabili sono trattate come matrici: scalari : matrici 1 x 1 vettori riga : matrici 1 x n vettori colonna : matrici n x 1 matrici : matrici m x n

Vettori vettore riga: >> v = [ ] oppure >> v = [1,2,3,4,5] vettore colonna: >> v = [1; 2; 3; 4; 5] oppure >> v = [ ] ; cambia riga, traspone. Per selezionare li-esima entrata: >> v(i) In particolare, lultima entrata è v(end).

Alcune funzioni sui vettori >> max(v) restituisce la massima entrata di v. >> min(v) restituisce la minima entrata di v. >> sum(v) restituisce la somma delle entrate di v. >> lenght(v) restituisce la lunghezza di v.

Vettori progressivi Vettore progressione aritmetica di valore iniziale a, valore finale b e passo p (anche negativo): >> x = a:p:b Se il passo è 1, si può omettere. Es: >> x = 1:10 x = NB: Loperatore : è molto importante.

Matrici Per definire una matrice, ad esempio >> A = [ ; ] oppure >> A = [ ] Per selezionare lentrata (i,j): >> A(i,j)

Alcune funzioni sulle matrici Le funzioni max e min operano anche sulle matrici con lo stesso significato. >> sum(A) restituisce un vettore riga le cui entrate sono le somme delle entrate di ciascuna colonna di A. >> size(A) restituisce un bivettore con le dimensioni di A. >> length(A) Restituisce la dimensione massima di A.

Esercizio 1 Costruire un vettore v composto da 40 elementi in modo che: i primi 20 elementi siano 1,2,…,20 gli ultimi 20,19,…,1

Note >> ; Matlab esegue il comando senza stampare il risultato. Per spezzare un comando su più righe: >> … Per terminare forzatamente un comando in esecuzione, digitare ctrl c.

Matrici come vettori >> A(:) produce un vettore colonna contenente tutte le entrare di A, colonna per colonna. >> A(i) seleziona li-esima entrata di A(:). Se i è un vettore di indici, A(i) seleziona le entrate corrispondenti.

Entrate inesistenti (1) Se si cerca di usare unentrata inesistente, i.e. di riga o colonna troppo grande, Matlab stampa un messaggio di errore. Es: >> A = [1 2 ; 3 4] ; >> A(1,3) errore

Entrate inesistenti (2) È però possibile definire entrate inesistenti: Matlab definirà automaticamente le entrate mancanti, ponendole uguali a 0. Es: >> A(1,3) = 5 >> A =

Concatenazione di matrici >> A = [v w] crea la matrice le cui colonne sono i vettori colonna v e w, nellordine. >> A = [v ; w] crea la matrice le cui righe sono i vettori riga v e w. >> A = [B C ; D E] crea la matrice di blocchi B C D E, nella posizione indicata. NB: attenzione alla consistenza delle dimensioni! Altrimenti errore…

Estrazione di matrici (1) >> A(i,:) estrae li-esima riga della matrice A. >> A(:,j) estrae la j-esima colonna di A. >> A([p,q, ],[r,s, ]) estrae la sottomatrice di A costituita dalle righe p,q,… e dalle colonne r,s,…

Cancellazioni È possibile cancellare righe e colonne, ridefinendole come la matrice vuota. Es: >> A(:,1) = [ ] NB: Il tentativo di cancellare altri tipi di sottomatrici (es: singole entrate) produce un errore dimensionale.

Estrazione di matrici (2) >> diag(A) estrae la diagonale di A in un vettore colonna. >> diag(v) crea la matrice diagonale con diagonale il vettore v. >> triu(A) e >> tril(A) estraggono rispettivamente la matrice triangolare superiore (up) e inferiore (low).

Matrici notevoli identità n x n : >> eye(n) (in inglese, la lettera I e la parola eye si pronunciano entrambe/aɪ/) matrice nulla m x n : >> zeros(m,n) matrice m x n tutti 1 : >> ones(m,n) quadrato magico n x n : >> magic(n) Per un elenco di tutte le matrici elementari: >> help elmat

Esercizio 2 Verificare che nella matrice magic(4) ciascuna riga e colonna, nonché la diagonale, ha somma uguale.

Esercizio 3 a)Costruire una matrice A 3 x 7 tale che: – prima riga = 7,6,…,1 – seconda riga = 1,1,…,1 – terza riga = 0,0,…,0 b) Estrarre due sottomatrici di A: – una costituita dalle ultime 3 colonne – una costituita dagli elementi della riga 1 e 3, colonna 2 e 4.

Numeri casuali >> rand genera un numero (pseudo)casuale con distribuzione uniforme nellintervallo [0,1]. >> randn genera un numero (pseudo)casuale con distribuzione normale di media 1 e deviazione standard 1. >> rand(m,n) e >> randn(m,n) generano matrici (pseudo)casuali (per matrici quadrate basta un parametro).

Funzioni parte intera >> floor(x) è il massimo intero x. >> round(x) è lintero più vicino a x. >> fix(x) è il massimo intero x se x0, il minimo intero x se x<0 (è lintero che si ottiene da x cancellando le cifre dopo la virgola).

Esercizio 4 Scrivere un comando che generi matrici in cui tutte le entrate sono numeri interi casuali, con una ragionevole distribuzione di probabilità.

Fine Ricordo: >> diary off per chiudere il diary. La tastiera è spesso preferibile al mouse. Per terminare il programma: >> quit