22
Ing. Raffaele Carli (email: [email protected]) Politecnico di Bari Laurea Specialistica in Ingegneria Gestionale Corso di Analisi dei Sistemi Bari, 10 ottobre 2013 Lezione 1: Introduzione all’uso di Matlab

Ing. Raffaele Carli (email: [email protected]) Politecnico di Bari Laurea Specialistica in Ingegneria Gestionale Corso di Analisi dei Sistemi Bari, 10

Embed Size (px)

Citation preview

Page 1: Ing. Raffaele Carli (email: r.carli@poliba.it) Politecnico di Bari Laurea Specialistica in Ingegneria Gestionale Corso di Analisi dei Sistemi Bari, 10

Ing. Raffaele Carli (email: [email protected])

Politecnico di Bari Laurea Specialistica in Ingegneria Gestionale Corso di Analisi dei Sistemi Bari, 10 ottobre 2013

Lezione 1:Introduzione all’uso di Matlab

Page 2: Ing. Raffaele Carli (email: r.carli@poliba.it) Politecnico di Bari Laurea Specialistica in Ingegneria Gestionale Corso di Analisi dei Sistemi Bari, 10

Pag. 2 – Lezione 1, Ing. R. CarliLaboratorio di Analisi dei Sistemi - Politecnico di Bari, A.A. 2013-14

Introduzione a Matlab: Descrizione generale di Matlab Definizione di matrici, vettori e polinomi Quadro delle funzioni predefinite Rappresentazione grafica dei dati Cenni alla programmazione in ambiente Matlab

Sommario

Page 3: Ing. Raffaele Carli (email: r.carli@poliba.it) Politecnico di Bari Laurea Specialistica in Ingegneria Gestionale Corso di Analisi dei Sistemi Bari, 10

Pag. 3 – Lezione 1, Ing. R. CarliLaboratorio di Analisi dei Sistemi - Politecnico di Bari, A.A. 2013-14

Scopo della lezione fornire le informazioni necessarie per l’uso di Matlab in relazione alle

esercitazioni del corso dare una panoramica generale (tutt’altro che esauriente) delle potenzialità di

Matlab per la formulazione e la soluzione di problemi numerici nell’ambito del corso di “Analisi dei Sistemi”

Il materiale presentato NON È un manuale d’uso di Matlab

Introduzione (1/2)

Page 4: Ing. Raffaele Carli (email: r.carli@poliba.it) Politecnico di Bari Laurea Specialistica in Ingegneria Gestionale Corso di Analisi dei Sistemi Bari, 10

Pag. 4 – Lezione 1, Ing. R. CarliLaboratorio di Analisi dei Sistemi - Politecnico di Bari, A.A. 2013-14

Dove trovare altre informazioni? Sito web di Mathworks: www.mathworks.com seguendo i link alla voce “support ” è possibile trovare i manuali di Matlab in

formato Adobe PDF

Un testo in italiano di introduzione a Matlab utile per gli argomenti del corso di Analisi dei Sistemi:

“MATLAB Guida al Laboratorio di automatica” M. Dotoli, M. P. Fanti Città Studi Edizioni I ed. Apr 2008

Introduzione (2/2)

Page 5: Ing. Raffaele Carli (email: r.carli@poliba.it) Politecnico di Bari Laurea Specialistica in Ingegneria Gestionale Corso di Analisi dei Sistemi Bari, 10

Pag. 5 – Lezione 1, Ing. R. CarliLaboratorio di Analisi dei Sistemi - Politecnico di Bari, A.A. 2013-14

MATLAB = MATrix LABoratory gestione semplice ed ottimizzata della manipolazione di matrici

Principali caratteristiche dell’ambiente linguaggio di programmazione per applicazioni scientifiche e numeriche molto

diffuso Facilita’ d’uso e potenzialita’ di calcolo grande portabilita’ vasto set di funzioni predefinite (built-in function) libreria di TOOLBOX per svariate applicazioni; ad es. Signal Processing,

Identificazione di modelli, … possibilità di scrivere nuove funzioni interprete di comandi (forniti interattivamente o contenuti in files su disco) possibilita’ di convertire un programma MATLAB in codice C e C++ in modo

automatico

Descrizione generale di Matlab

Page 6: Ing. Raffaele Carli (email: r.carli@poliba.it) Politecnico di Bari Laurea Specialistica in Ingegneria Gestionale Corso di Analisi dei Sistemi Bari, 10

Pag. 6 – Lezione 1, Ing. R. CarliLaboratorio di Analisi dei Sistemi - Politecnico di Bari, A.A. 2013-14

L’interfaccia di Matlab (1/2)

Page 7: Ing. Raffaele Carli (email: r.carli@poliba.it) Politecnico di Bari Laurea Specialistica in Ingegneria Gestionale Corso di Analisi dei Sistemi Bari, 10

Pag. 7 – Lezione 1, Ing. R. CarliLaboratorio di Analisi dei Sistemi - Politecnico di Bari, A.A. 2013-14

Command Window: è la finestra dell’interprete di comandi di Matlab. Vi si possono scrivere

direttamente comandi o lanciare programmi scritti nel linguaggio di programmazione del Matlab.

Command History: è la finestra che contiene l’elenco dei comandi inseriti nella Command Window.

Current Directory: visualizza in forma grafica il contenuto della cartella di lavoro.

Workspace: è la finestra che visualizza il contenuto dell’area di memoria utilizzata dal Matlab

(nomi, tipi e dimensioni delle variabili).

L’interfaccia di Matlab (2/2)

Page 8: Ing. Raffaele Carli (email: r.carli@poliba.it) Politecnico di Bari Laurea Specialistica in Ingegneria Gestionale Corso di Analisi dei Sistemi Bari, 10

Pag. 8 – Lezione 1, Ing. R. CarliLaboratorio di Analisi dei Sistemi - Politecnico di Bari, A.A. 2013-14

Lanciata l’esecuzione del programma compare prompt dei comandi "»"

MatLab resta in attesa che venga effettuata una qualsiasi operazione

editare un programma, lanciare l’esecuzione di un file oppure eseguire un’istruzione digitata sulla riga di comando e cosi’ via

Matlab puo’ essere considerato un interprete le cui istruzioni sono del tipo:

Distinguiamo ad es. 1) assegnamenti “» variabile = espressione”, in tal caso la variabile

creata resta a disposizione come matrice nella workspace per future operazioni.

2) valutazione di espressioni “» espressione”, in tal caso la valutazione dell'espressione viene assegnata alla variabile di sistema “ans”, disponibile per una sola operazione.

Il prompt dei comandi

Page 9: Ing. Raffaele Carli (email: r.carli@poliba.it) Politecnico di Bari Laurea Specialistica in Ingegneria Gestionale Corso di Analisi dei Sistemi Bari, 10

Pag. 9 – Lezione 1, Ing. R. CarliLaboratorio di Analisi dei Sistemi - Politecnico di Bari, A.A. 2013-14

Manuale dei comandi in linea » help per ottenere la lista dei toolbox installati » help <nome_comando> guida ‘on-line’ di MATLAB sullo specifico comando » help <nome_toolbox> per ottenere la lista dei comandi installati in un toolbox » help ops help sugli operatori matematici e caratteri speciali » help elfun help su funzioni matematiche predefinite » help matfun help sulle matrici

Funzioni di ricerca lookfor ricerca per parola chiave

Esempi di applicazioni demo per far comparire sullo schermo alcuni menu e poter scegliere, tramite il

mouse, l’argomento del quale si vuole vedere una dimostrazione

Help! Una funzione fondamentale!

Page 10: Ing. Raffaele Carli (email: r.carli@poliba.it) Politecnico di Bari Laurea Specialistica in Ingegneria Gestionale Corso di Analisi dei Sistemi Bari, 10

Pag. 10 – Lezione 1, Ing. R. CarliLaboratorio di Analisi dei Sistemi - Politecnico di Bari, A.A. 2013-14

La modalità di impiego più “semplice”: per valutare espressioni numeriche

Matlab come calcolatrice...

Page 11: Ing. Raffaele Carli (email: r.carli@poliba.it) Politecnico di Bari Laurea Specialistica in Ingegneria Gestionale Corso di Analisi dei Sistemi Bari, 10

Pag. 11 – Lezione 1, Ing. R. CarliLaboratorio di Analisi dei Sistemi - Politecnico di Bari, A.A. 2013-14

In Matlab tutte le elaborazioni vengono effettuate in doppia precisione

Il formato con cui l’output compare sul video pu`o per`o essere controllato mediante i seguenti comandi

Formato di visualizzazione

Page 12: Ing. Raffaele Carli (email: r.carli@poliba.it) Politecnico di Bari Laurea Specialistica in Ingegneria Gestionale Corso di Analisi dei Sistemi Bari, 10

Pag. 12 – Lezione 1, Ing. R. CarliLaboratorio di Analisi dei Sistemi - Politecnico di Bari, A.A. 2013-14

Operazioni matematiche elementari

Page 13: Ing. Raffaele Carli (email: r.carli@poliba.it) Politecnico di Bari Laurea Specialistica in Ingegneria Gestionale Corso di Analisi dei Sistemi Bari, 10

Pag. 13 – Lezione 1, Ing. R. CarliLaboratorio di Analisi dei Sistemi - Politecnico di Bari, A.A. 2013-14

Le variabili non vanno dichiarate. La dichiarazione coincide con il primo assegnamento.

E’ case-sensitive (distingue maiuscole/minuscole)

Definizione di variabili

Page 14: Ing. Raffaele Carli (email: r.carli@poliba.it) Politecnico di Bari Laurea Specialistica in Ingegneria Gestionale Corso di Analisi dei Sistemi Bari, 10

Pag. 14 – Lezione 1, Ing. R. CarliLaboratorio di Analisi dei Sistemi - Politecnico di Bari, A.A. 2013-14

L’operatore “=“ è utilizzato in Matlab per assegnare un valore (numerico, come il risultato di un’operazione di calcolo, oppure testuale o simbolico [ne parliamo più avanti] ) ad una variabile

Se l’assegnazione termina con un “;” allora il risultato dell’operazione di assegnazione non viene visualizzato, altrimenti si.

» x = 2; y = 4; z = x*y

z = 8

Operatore di assegnazione

Page 15: Ing. Raffaele Carli (email: r.carli@poliba.it) Politecnico di Bari Laurea Specialistica in Ingegneria Gestionale Corso di Analisi dei Sistemi Bari, 10

Pag. 15 – Lezione 1, Ing. R. CarliLaboratorio di Analisi dei Sistemi - Politecnico di Bari, A.A. 2013-14

Ogni variabile definita in questo modo viene conservata in memoria, nel Workspace

Se si fa doppio click su una variabile nella workspace, questa viene aperta in una finestra “variable editor”, dove può essere modificata, senza doverla ridefinire

Comandi per la gestione del workspace who elenca le variabili presenti nell’area di lavoro whos elenca, oltre al nome delle variabili, anche il tipo e l’occupazione di

memoria clear / clear all per cancellare una o tutte le variabili

Il Workspace

Page 16: Ing. Raffaele Carli (email: r.carli@poliba.it) Politecnico di Bari Laurea Specialistica in Ingegneria Gestionale Corso di Analisi dei Sistemi Bari, 10

Pag. 16 – Lezione 1, Ing. R. CarliLaboratorio di Analisi dei Sistemi - Politecnico di Bari, A.A. 2013-14

variabili che hanno un proprio valore senza che esso venga esplicitamente assegnato:

Costanti predefinite

Page 17: Ing. Raffaele Carli (email: r.carli@poliba.it) Politecnico di Bari Laurea Specialistica in Ingegneria Gestionale Corso di Analisi dei Sistemi Bari, 10

Pag. 17 – Lezione 1, Ing. R. CarliLaboratorio di Analisi dei Sistemi - Politecnico di Bari, A.A. 2013-14

Funzioni scalari

Alcune funzioni predefinite (1/2)

Page 18: Ing. Raffaele Carli (email: r.carli@poliba.it) Politecnico di Bari Laurea Specialistica in Ingegneria Gestionale Corso di Analisi dei Sistemi Bari, 10

Pag. 18 – Lezione 1, Ing. R. CarliLaboratorio di Analisi dei Sistemi - Politecnico di Bari, A.A. 2013-14

Operatori relazionali

Operatori logici

Alcune funzioni predefinite (2/2)

Page 19: Ing. Raffaele Carli (email: r.carli@poliba.it) Politecnico di Bari Laurea Specialistica in Ingegneria Gestionale Corso di Analisi dei Sistemi Bari, 10

Pag. 19 – Lezione 1, Ing. R. CarliLaboratorio di Analisi dei Sistemi - Politecnico di Bari, A.A. 2013-14

Info sulla versione di MATLAB version per informazioni sulla versione del prodotto Matlab ver per informazioni sulle versioni di Matlab, Simulink e Toolbox

clc Pulisce la command

dir elenca i files contenuti nella Current Directory

↑ richiama le istruzioni precedenti p↑ richiama le istruzioni precedenti che cominciano con la lettera p

tic […] toc restituisce il tempo trascorso da quando è stata chiamata l’istruzione tic

! comando Esegue il comando DOS ‘comando’ dalla Command Window (e.g. !calc)

Altre funzioni utili (1/2)

Page 20: Ing. Raffaele Carli (email: r.carli@poliba.it) Politecnico di Bari Laurea Specialistica in Ingegneria Gestionale Corso di Analisi dei Sistemi Bari, 10

Pag. 20 – Lezione 1, Ing. R. CarliLaboratorio di Analisi dei Sistemi - Politecnico di Bari, A.A. 2013-14

% se una riga di un file Matlab inizia con % allora tale riga viene considerata come

un commento

… Ogni istruzione puo’ essere scritta anche su due righe purch`e prima di andare

a capo vengano scritti 3 punti

Altre funzioni utili (2/2)

Page 21: Ing. Raffaele Carli (email: r.carli@poliba.it) Politecnico di Bari Laurea Specialistica in Ingegneria Gestionale Corso di Analisi dei Sistemi Bari, 10

Pag. 21 – Lezione 1, Ing. R. CarliLaboratorio di Analisi dei Sistemi - Politecnico di Bari, A.A. 2013-14

Continua…

Page 22: Ing. Raffaele Carli (email: r.carli@poliba.it) Politecnico di Bari Laurea Specialistica in Ingegneria Gestionale Corso di Analisi dei Sistemi Bari, 10

Pag. 22 – Lezione 1, Ing. R. CarliLaboratorio di Analisi dei Sistemi - Politecnico di Bari, A.A. 2013-14

Grazie per l’attenzione!

Laboratorio di Analisi dei sistemi

Dr. Eng. Raffaele Carli

Electrical and Information Engineering Department (DEE)Politecnico di Bari

email: [email protected]