Corso di Segnali e Sistemi

Slides:



Advertisements
Presentazioni simili
Dipartimento di Matematica
Advertisements

Metodi numerici in Matlab
Introduzione a Matlab Gabriella Puppo.
MATLAB: w=randn(N,1) x=filter(b,a,w) Processi Autoregressivi AR(1)
MATLAB.
MATLAB.
Introduzione a MATLAB Stefano Vigogna Dipartimento di Matematica
MATLAB. Outline Grafica 2D Esercizi Grafica 3D Esercizi.
MATLAB.
MATLAB. Scopo della lezione Programmare in Matlab Funzioni Cicli Operatori relazionali Esercizi vari.
Dipartimento di Matematica
MATLAB Stefano Gagliardo
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.
Esercitazione MATLAB (13/5)
Linguaggio MATLAB: costrutti tipici (IF,WHILE…)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 5 – Info B Marco D. Santambrogio – Riccardo Cattaneo –
MATLAB. Annalisa Pascarella
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. …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.
Introduzione a Matlab Gabriella Puppo. Che cosa è Matlab Matlab è §un linguaggio di programmazione §un ambiente di calcolo scientifico con routines altamente.
Interpolazione polinomiale
Metodi FEM per problemi ellittici lineari a tratti Gabriella Puppo.
Metodi numerici per equazioni lineari iperboliche Gabriella Puppo.
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
Esercitazione 2 – Generazione di variabili Matlab.
INTRODUZIONE A MATLAB.
INTRODUZIONE A MATLAB LEZIONE 4 Sara Poltronieri slide3.4 matlabintro
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Script 1 Marco D. Santambrogio – Ver. aggiornata al 2 Dicembre 2013.
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.
Esercitazione 1 - Introduzione Matlab. MATrix LABoratory Command window Current Directory Comandi recenti Variabili correnti Contenuto cartella corrente.
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.
DEI - Univ. Padova (Italia) Programmare Definire una sequenza di istruzioni che specificano come effettuare una elaborazione Le istruzioni devono essere.
Laboratorio di Processi Stocastici Alberto Sorrentino
INTRODUZIONE A MATLAB LEZIONE 2 Sara Poltronieri.
INTRODUZIONE A MATLAB Sara Poltronieri. Avvio del programma Avvio di Matlab (Windows) Start  Programmi  Matlab (o icona) Avvio di Matlab (Linux) terminale.
Introduzione a Matlab. Roadmap Saranno presentate le caratteristiche di base del sistema MATLAB TM (MATrix LABoratory) Operazioni elementari su scalari,
INTRODUZIONE A MATLAB Corso di Segnali e Sistemi a.a. 2010/2011.
Parte 2 Programmare in Matlab – I Sommario: Introduzione: m-file Strutture condizionali e cicli –Istruzione “if” + Operatori logici in MatlabIstruzione.
INTRODUZIONE A MATLAB/OCTAVE MANOLO VENTURIN UNIVERSITÀ DEGLI STUDI DI PADOVA DIP. DI MATEMATICA PURA ED APPLICATA A. A. 2007/2008.
Ambienti di Programmazione per il Software di Base
Script Marco D. Santambrogio –
7. Strutture di controllo
MATRICI (ARRAY) IN MATLAB/OCTAVE
Programmazione strutturata
Informatica per Scienze Geologiche LT a.a
PROGRAMMAZIONE BASH – ISTRUZIONE IF
ELEMENTI DI GRAFICA IN MATLAB/OCTAVE
Dipartimento di Elettronica e Informazione
Process synchronization
Informatica per Scienze Geologiche LT a.a
Analisi di Immagini e Dati Biologici
Informatica - Prof. Gregorio Cosentino
Informatica per Scienze Geologiche LT a.a
JavaScript 6. Oggetti e JavaScript A. Ferrari.
Process synchronization
Process synchronization
Process synchronization
La programmazione strutturata
Script su vettori Realizza uno script che chiede in input una dimensione d e crea un vettore di d numeri interi casuali. Poi calcola la somma dei due numeri.
Corso di Fondamenti di Informatica
Transcript della presentazione:

Corso di Segnali e Sistemi Prof. Michele Pavon INTRODUZIONE A MATLAB 30 aprile 2015 Chiara Pielli chiara.pielli@studenti.unipd.it

Cos’è Matlab? Matrix LABoratory Calcolo numerico e analisi statistica Applicazioni: sistemi di controllo comunicazioni progettazione elettronica elaborazione di immagini biologia computazionale … Alternativa open source: GNU Octave

Interfaccia

Istruzioni Due modi per fornire le istruzioni: tramite command window: - comandi eseguiti immediatamente - volatile tramite script: - file .m scritto in un editor - salvataggio programma in memoria Se il comando è errato o mal formulato, Matlab segnala l’errore con una risposta in rosso.

Istruzioni – definizione variabili Variabile numerica >> a = 5 >> b = 1.91 >> c = 1+7i Stringa >> s = ‘pippo’ Vettore >> v = [1 5 9] >> u = [3; 0; 4] Matrice >> C = [2 6; 4 9; 3 1] Per sopprimere l’eco, usare il punto e virgola: >> k=10;

Gestione variabili Lista variabili nel workspace: >> who Descrizione variabili nel workspace: >> whos Salvataggio variabili in un file data.mat: >> save data [salvo TUTTO il workspace] >> save data c [salvo solo la variabile c] Cancellazione variabili dal workspace: >> clear all [cancello TUTTE le variabili] >> clear c [cancello solo la variabile c]

Istruzioni – vettori [1/3] Definizione di un vettore: >> v = [1 3 8] Lunghezza di un vettore: >> l = length(v) >> l = 3 Vettore trasposto >> u = v’; >> u = Somma elementi >> s = sum(v) >> s = 11 Vettore simmetrico >> u = wrev(v) >> u = 8 3 1

Istruzioni – vettori [2/3] Sia v= [1 8 0 9]; !!Gli indici in Matlab partono da 1!! Estrazione di elementi: >> v(3) >> ans = 0 >> v(1:2) >> ans = [1 8] >> v(2:2:4) >> ans = [8 9] >> v(3:-1:1) >> ans = [0 8 1]; >> v(:) >> ans = [1; 8; 0; 9];

Istruzioni – vettori [3/3] Siano v = [1 8 0 9] ed u = [4 1 8 2]; Somma fra due vettori >> u + v >> ans = [5 9 8 11] Prodotto interno <u,v> = uTv >> v*u’ >> ans = 30 Prodotto componente per componente >> v.*u >> ans = [4 8 0 18] Elevamento a potenza componente per componente >> v.^2 >> ans = [1 64 0 81]

Istruzioni – matrici [1/2] Definizione matrice: >> M = [7 4; 1 9]; Dimensione matrice: >> size(M) >> ans = [2, 2] >> size(M, 2) >> ans = 2 Estrazione elementi: >> M(1,2) >> ans = 4 >> M(2,:) >> ans = [1 9]; Matrice inversa (! se M è quadrata): >> inv(M) >> ans = 0.1525 -0.0678 -0.0169 0.1186

Istruzioni – matrici [2/2] Siano e Somma: >> A + B >> ans = 7 9 11 13 Prodotto: >> A * B >> ans = 22 25 50 57 Prodotto elemento per elemento: >> A.*B >> ans = 6 14 24 36

Istruzioni logiche Matlab può valutare proposizioni logiche 1 = true e 0 = false Operatori: - ugualianza == >= <= - disuguaglianza ~= > < - and && - or || Esempi: >> ( (a > 0) || (c <= 3) ) >> ( (a ~=0) && (c+d > 7) )

Cicli iterativi Struttura IF: if (condizione){ Struttura WHILE: <istruzioni> }else { }end }elseif { Struttura WHILE: while (condizione){ <istruzioni> }end Struttura FOR: for(j = min:step:max){

Script File contenente una successione di comandi da eseguire Si scrive tramite editor di testo Si salva in un file con estensione .m

Funzioni [1/2] File invocato nel main Parametri di ingresso + valori di ritorno Moltissime funzioni già implementate È possibile creare funzioni personalizzate: - come uno script: editor di testo & estensione .m - sintassi: function [out1, out2, …] = nomeFunzione(in1, in2, ...) - nome file identico al nome della funzione Es: function a = areaTriangolo(b, h) a = (b*h)/2; end

Funzioni [2/2] Informazioni su una funzione: help nomeFunzione » help abs ABS Absolute value. ABS(X) is the absolute value of the elements of X. When X is complex, ABS(X) is the complex modulus(magnitude) of the elements of X. Alcune funzioni utili: real, imag, eye, ones, sin, cos, exp, log, plot, stem, min, max, conv, deconv, abs, phase, ... Cercare funzioni  Google

Grafici [1/5] Rappresentiamo la funzione seno nell’intervallo [0, 2π] con passo di campionamento Tc = 0.01 » Tc = 0.01; » x = 0:Tc:2*pi; » plot(x, sin(x));

Grafici [2/5] Aggiungere elementi al grafico: T = 0.01; x = 0:T:2*pi; plot(x,sin(x),'r-.','LineWidth',3) grid on; title('Plot of sin(x)'); xlabel('x'); % nome asse x ylabel('sin(x)'); % nome asse y axis([0 2*pi -1 1]);

Grafici [3/5]

Grafici [4/5] Esercizio: stampare su due figure differenti i segnali entrambi con passo di campionamento T = 0.02.

Grafici [5/5] clear all; close all; % chiudo finestre aperte T = 0.02; % passo di campionamento t = 0:T:50; % crea vettore tempi f = cos(2*t); % crea vettore per f g = exp(-0.1*t).*cos(2* t); % vettore per g figure; % apro una nuova figura plot(t, f) % stampo il primo grafico xlabel('t') % nome asse x ylabel('f(t)' % nome asse y title('primo grafico') % titolo grafico figure; plot(t,g,'r') % stampo il secondo grafico xlabel('t'); ylabel('g(t)‘); title 'secondo grafico');

Esempio riepilogo [1/2] Scrivere uno script esempio.m che calcola i valori massimo e minimo e la media di un vettore aleatorio con distribuzione uniforme nell’intervallo [0,30]. (SUGGERIMENTO: guardare l’help della funzione rand) close all; clear all; L = 100; % lunghezza vettore % genero sequenza casuale uniforme in [a,b] a = 0; b = 30; v = a + (b-a).*rand(L, 1); % calcolo max e min del vettore [vMin, iMin] = min(v); [vMax, iMax] = max(v);

Esempio riepilogo [2/2] % Produciamo il grafico richiesto figure; stem(v); hold on; stem(iMin, vMin,'kx‘); stem(iMax, vMax,'gs'); vMedio = mean(v)*ones(L,1); plot(vMedio,'r–'); grid on; legend('v','valore minimo', 'valore massimo', 'valor medio');

Homework Stampare il segnale: con passo di campionamento T = 0.02 scegliere in maniera opportuna il passo di campionamento