Matlab MATLAB (MATrix LABoratory) è un ambiente interattivo ad alto livello che consente di costruire e gestire facilmente matrici e, come casi particolari,

Slides:



Advertisements
Presentazioni simili
Introduzione al linguaggio C++
Advertisements

Shell: variabili di sistema PATH HOME USER PWD SHELL HOSTNAME HOSTTYPE Per visualizzare il valore di tutte le variabili dambiente si usa il comando set.
LINGUAGGIO DI PROGRAMMAZIONE C
Dipartimento di Matematica
Lezione 8 Anno accademico Titolare corso: Prof. Costanza Torricelli
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità F2 Selezione.
PHP.
I linguaggi di programmazione
Ogni PC, per iniziare a lavorare, ha bisogno di un sistema operativo. Infatti questo è il primo programma che viene eseguito e che permette all'utente.
CONOSCIAMO IL WINDOWS '95.
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
Algoritmi e Programmazione
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.
Università La Sapienza Web programming e programmazione multimediale 1 Web Programming e comunicazione multimediale Lezione 10: PHP.
1 Istruzioni, algoritmi, linguaggi. 2 Algoritmo per il calcolo delle radici reali di unequazione di 2 o grado Data lequazione ax 2 +bx+c=0, quali sono.
Linguaggio MATLAB: costrutti tipici (IF,WHILE…)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 5 – Info B Marco D. Santambrogio – Riccardo Cattaneo –
MATLAB. …oggi… Programmare in Matlab Programmare in Matlab m-file m-file script script Funzioni Funzioni Cicli Cicli Operatori relazionali Operatori relazionali.
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.
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
Windows Sistema operativo con interfaccia grafica per PC IBM compatibili (varie versioni dal 95) La gestione dei file viene fatta secondo le modalità.
Lezione 2 Programmare in ASP
Corso di PHP.
INTRODUZIONE A MATLAB.
WINDOWS XP PRIMI PASSI. Caratteristiche del sistema Le caratteristiche di base del PC (tipo e versione del sistema operativo installato, tipo e velocità
Modulo 7 – reti informatiche u.d. 3 (syllabus – )
Ll Questionario Introduzione al software SAS (Parte 2) Metodi Quantitativi per Economia, Finanza e Management Esercitazione n°2.
Università degli Studi di Bari Laurea in Chimica Di spense di Informatica - Dott. F. Mavelli Programmare in Matlab Funzioni di Libreria Funzioni definite.
STRUTTURA GENERALE DI UN ELABORATORE
Di Luca Santucci 5° Programmatori
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.
Lezione 1: Introduzione all’uso di Matlab
JavaScript Generalità Cos'è JavaScript?
Lezione 3 Struttura lessicale del linguaggio
Esercitazione 1 - Introduzione Matlab. MATrix LABoratory Command window Current Directory Comandi recenti Variabili correnti Contenuto cartella corrente.
Introduzione a Javascript
Variabili Numeriche –Interi (byte, short, int, long): complemento a 2 –A virgola mobile (float, double): IEEE 745 Alfanumeriche –Carattere (char): Unicode.
Capitolo 6 Iterazione Lucidi relativi al volume: Java – Guida alla programmazione James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies.
Informatica Applicata al Suono Tutorial Matlab
DEI - Univ. Padova (Italia) Programmare Definire una sequenza di istruzioni che specificano come effettuare una elaborazione Le istruzioni devono essere.
Ancora sulla shell. Shell e comandi La shell e' un programma che interpreta i comandi dell'utente. I comandi possono essere dati da terminale, oppure.
IC3N 2000 NSCRIPT D.E.I.S. Università di Bologna DEISNet
Linguaggio C: Le basi Stefano Cagnoni e Monica Mordonini
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.
LA FILOSOFIA DEL SAS Concepito per essere facilmente accessibile.
Informatica e Informatica di Base
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Algoritmi e basi del C Marco D. Santambrogio – Ver. aggiornata al 24 Agosto 2015.
Introduzione a Matlab. Roadmap Saranno presentate le caratteristiche di base del sistema MATLAB TM (MATrix LABoratory) Operazioni elementari su scalari,
Corso di Politiche Regionali Introduzione a STATA a cura del Dott. Augusto Cerqua 15/10/2012.
INTRODUZIONE A MATLAB Corso di Segnali e Sistemi a.a. 2010/2011.
I L SO MS DOS … una breve guida…. C OS ’ È UN S ISTEMA OPERATIVO Un sistema operativo (SO) è un insieme di programmi che agisce come intermediario tra.
Transcript della presentazione:

Matlab MATLAB (MATrix LABoratory) è un ambiente interattivo ad alto livello che consente di costruire e gestire facilmente matrici e, come casi particolari, vettori e scalari. La struttura dati di base è la matrice: ciò significa che durante l’elaborazione ogni quantità viene trattata dall’ambiente di calcolo come una matrice di dimensione nxm. (un vettore è una matrice 1xn, mentre uno scalare è gestito come una matrice 1x1).

Non solo matrici… MATLAB fornisce un ambiente di calcolo, visualizzazione e programmazione scientifica, in cui è possibile: calcolare direttamente espressioni matematiche; utilizzare il semplice ambiente di programmazione per costruire i propri algoritmi; sfruttare algoritmi di base già implementati - built-in function -

Altre funzionalità di MATLAB Matematica e calcolo Sviluppo di procedure e applicazioni Modellistica, simulazione e prototipizzazione Analisi di dati, esplorazione e visualizzazione Disegno industriale e scientifico Costruzione di interfacce utente TOOLBOX vari

MATLAB linguaggio per programmare. E’ un linguaggio interpretato e non compilato: questo significa che le istruzioni vengono tradotte in linguaggio macchina (il linguaggio “capito” dal processore) e subito eseguite una per volta. Utilizzando C, Fortran, C++, la traduzione da linguaggio ad alto livello a linguaggio macchina avviene invece nel processo di compilazione, in cui tutto il programma viene tradotto in linguaggio macchina e poi eseguito.

Ambiente di sviluppo Matlab Per lanciare MATLAB da ambiente Windows basta cliccare due volte con il mouse sull’icona corrispondente. La finestra che appare quando si esegue MATLAB viene chiamata desktop. Il simbolo prompt >> indica che il calcolatore è pronto a ricevere le istruzioni e ad eseguirle. Per uscire dall’ambiente basta digitare >> quit

Command Window: detta anche finestra dei comandi, è la parte del desktop in cui si scrivono i comandi MATLAB che devono essere eseguiti. Permette pertanto all’utente di comunicare con il programma MATLAB. Command History: questa finestra mostra tutti i comandi precedentemente immessi nella finestra dei comandi.

Il manuale (o help) Si puo’ accedere al manuale o tramite il menu Help → MATLAB Help (guida in linea) o digitando help dalla Command Window (help generale di tutte le funzioni). Per visualizzare l’help di un singolo comando digitare help dalla Command Window (esempio help plot). Digitando lookfor si attiva invece la ricerca di funzioni basate su una parola chiave. Attraverso il comando doc si accede direttamente alla documentazione online di MATLAB.

Menù Help -> Matlab Help

>> help plot PLOT Linear plot. PLOT(X,Y) plots vector Y versus vector X. If X or Y is a matrix, then the vector is plotted versus the rows or columns of the matrix, whichever line up. If X is a scalar and Y is a vector, disconnected line objects are created and plotted as discrete points vertically at X. PLOT(Y) plots the columns of Y versus their index. If Y is complex, PLOT(Y) is equivalent to PLOT(real(Y),imag(Y)). In all other uses of PLOT, the imaginary part is ignored. Various line types, plot symbols and colors may be obtained with PLOT(X,Y,S) where S is a character string made from one element from any or all the following 3 columns: b blue. point - solid g green o circle : dotted r red x x-mark -. dashdot c cyan + plus -- dashed m magenta * star (none) no line y yellow s square k black d diamond v triangle (down) ^ triangle (up) < triangle (left) > triangle (right) p pentagram h hexagram

For example, PLOT(X,Y,'c+:') plots a cyan dotted line with a plus at each data point; PLOT(X,Y,'bd') plots blue diamond at each data point but does not draw any line. PLOT(X1,Y1,S1,X2,Y2,S2,X3,Y3,S3,...) combines the plots defined by the (X,Y,S) triples, where the X's and Y's are vectors or matrices and the S's are strings. For example, PLOT(X,Y,'y-',X,Y,'go') plots the data twice, with a solid yellow line interpolating green circles at the data points. The PLOT command, if no color is specified, makes automatic use of the colors specified by the axes ColorOrder property. The default ColorOrder is listed in the table above for color systems where the default is blue for one line, and for multiple lines, to cycle through the first six colors in the table. For monochrome systems, PLOT cycles over the axes LineStyleOrder property. If you do not specify a marker type, PLOT uses no marker. If you do not specify a line style, PLOT uses a solid line. PLOT(AX,...) plots into the axes with handle AX.

PLOT returns a column vector of handles to lineseries objects, one handle per plotted line. The X,Y pairs, or X,Y,S triples, can be followed by parameter/value pairs to specify additional properties of the lines. For example, PLOT(X,Y,'LineWidth',2,'Color',[.6 0 0]) will create a plot with a dark red line width of 2 points. Example x = -pi:pi/10:pi; y = tan(sin(x)) - sin(tan(x)); plot(x,y,'--rs','LineWidth',2,... 'MarkerEdgeColor','k',... 'MarkerFaceColor','g',... 'MarkerSize',10) See also plottools, semilogx, semilogy, loglog, plotyy, plot3, grid, title, xlabel, ylabel, axis, axes, hold, legend, subplot, scatter. Reference page in Help browser doc plot

Command window >> doc plot

Le variabili Variabile : nome associato ad una entità (scalare, vettore, matrice) che contiene dati. I nomi scelti devono rispettare le seguenti regole di sintassi: 1. possono contenere solo lettere, cifre e il carattere di sottolineatura (“_”); 2. non possono iniziare con una cifra; 3. non si possono utilizzare parole riservate di MATLAB. Matlab è un linguaggio case sensitive, ossia distingue fra lettere maiuscole e minuscole: la variabile A è quindi diversa dalla variabile a. La variabile utilizzata da MATLAB in default è ans.

Esempio Introdurre quattro variabili e calcolarne la media:

Esempi Esempi: a = sqrt(7); Double c = -2+i*8.2Complex Double t = a<1Logical Double q = 'k‘Char

Formato di Output L'output può essere visualizzato in diversi modi,pur non influendo sul formato che MATLAB usa per memorizzare ed elaborare i dati.

Esempi Esempio: >>y = 9/7 >>format shortdefault: format short >>format short e E+000 >>format short g >>format long >>format long e e+000 >>format long g >>format rat 9/7

Lo spazio di lavoro L’insieme delle variabili mantenute in memoria durante la sessione MATLAB viene chiamata spazio di lavoro (o workspace). Per aprire il Workspace Browser avete tre possibilità: - selezionare l’opzione Workspace dal menu View nel desktop di MATLAB; - cliccare su Workspace nella scheda Launch Pad; - digitare Workspace nel prompt della finestra comandi.

Utilizzando tale browser potete: 1. visualizzare e modificare le variabili dell’area di lavoro (eventualmente cambiandone il formato output); 2. cancellare le variabili dell’area di lavoro; 3. rappresentare graficamente le variabili dell’area di lavoro; 4. salvare l’area di lavoro; 5. caricare un’area di lavoro precedentemente salvata.

Selezione della cartella di lavoro

La sessione di lavoro Il comando diary memorizza nel file ASCII la sessione di lavoro (comandi dati e workspace) da quel punto in poi in modo da poterla poi consultare con un qualsiasi editor (es. WORD). Non possiamo però utilizzare il file per ricaricare il lavoro fatto e continuare a lavorarci; per questo si devono utilizzare i comandi save e load.

Ogni sessione di lavoro può essere salvata in un file binario (nomefile.mat) mediante il comando save e ricaricata in ambiente MATLAB mediante load Le variabili utilizzate in ogni workspace possono essere consultate semplicemente digitando il nome della variabile stessa.

Per visualizzare la lista delle variabili attive nel corrente spazio di lavoro digitate who Per informazioni più dettagliate utilizzate il comando whos Ogni variabile sarà visualizzata insieme allo spazio da essa occupato, al numero di elementi, e al suo tipo.

Per cancellare la variabile nomevariabile clear Per cancellare tutte le variabili di una sessione di lavoro clear Per pulire il desktop di MATLAB clc

Altri comandi utili pwd visualizza la directory in cui si sta lavorando dir, o ls elenca i file presenti nella directory cd modifica la directory attuale

Operatori Matlab Operatori di base: + addizione - sottrazione / divisione a destra 1/4=4\1=0.25 \ divisione a sinistra ^ elevamento a potenza * moltiplicazione Operatori logici: & and | or ~ not

Operatori relazionali: ~ = diverso <= minore uguale < minore >= maggiore uguale > maggiore = = uguale logico

Scalari vettori e matrici Una matrice ha dimensione nxm (n righe, m colonne). Un vettore ha dimensione nx1 (vettore colonna) o 1xn (vettore riga). Uno scalare ha dimensione 1x1.

Programmazione Matlab MATLAB non è un vero e proprio linguaggio di programmazione, ma permette comunque di realizzare programmi utilizzando le classiche strutture di programmazione come i cicli, i flussi di controllo e la gestione input/output. Due tipi di programmi, noti come “m-file”, (es. sort.m) –script –function

Programmazione MATLAB Per creare un m-file si seleziona New/m-file dal menu File. Script e funzioni vengono quindi inseriti mediante l'editor di MATLAB. Si salva poi il file con il suffisso.m N.B. Assicurarsi di aver selezionato dalla current directory il percorso (path) relativo alla directory (cartella) di lavoro contenente l’m-file.

Errori possibili Errori di sintassi nell’uso del linguaggio di programmazione. LEGGERE il messaggio visualizzato in rosso nella Command Window aiuta a capire che tipo di errore è stato fatto. Interruzione dell’esecuzione Sono causati da overflow, divisioni per zero,.. Istruzioni illegali Errori nel risultato Sono causati da errori o nell’algoritmo o nella sua implementazione in MATLAB. Si correggono facendo il “debug” del programma, cioè seguendo il programma istruzione per istruzione, prevedendo il risultato dell’istruzione e controllando, tramite scrittura su video, i valori interessati nell’istruzione (basta eliminare il “;” alla fine dell’istruzione).

Script Uno SCRIPT è una lista di comandi MATLAB che può eventualmente richiamare funzioni MATLAB built-in o create utilizzando altri m-file. - Non richiede input - Non fornisce output espliciti - Tutte le variabili usate sono disponibili nel workspace - Simile ad un programma principale -.m file deve essere disponibile nel proprio path corrente Script N.B. Per eseguire i comandi contenuti nello script (cioè richiedere a MATLAB che il file venga interpretato) si richiama semplicemente il suo nome dalla Command Window (senza estensione.m).

Esempio Esempio: scrivere uno script che calcola la media fra 4 variabili Scrivere nell’editor lo script a=10; b=20; c=30; d=40; media=(a+b+c+d)/4; Salvare l’m-file come prova.m Eseguire lo script digitando nella Command Window prova

Eseguire lo script digitando nella Command Window prova

Function Un m-file che contiene una funzione MATLAB si identifica nella prima riga con la parola function seguita da eventuali parametri di input e di output. Le variabili al suo interno sono viste solo localmente dalla funzione stessa e non dall'eventuale m-file chiamante o dall'ambiente MATLAB che la richiama.

Sintassi della function: function y = (argomenti input) y variabile in output Quando invece le variabili output sono più di una, la forma precedente si modifica nel modo seguente: function [y,z] = (argomenti input) Il nome dell'm-file deve essere il nome dato alla funzione, eccetto chiaramente l'estensione.m

Esempio di function function [area,perimetro]=quadrato(lato) area=lato*lato; perimetro=lato*4; N.B. Questo file deve essere memorizzato con il nome di quadrato.m

Richiamo di una function dal prompt di Matlab

Richiamo di una function da uno script matlab

Input Il comando input interrompe l'esecuzione e richiede un valore da tastiera come input. Una volta inserito il valore, l'm-file continua la sua esecuzione. Il comando echo permette di visualizzare a video i comandi durante la loro esecuzione. Il comando pause interrompe l'esecuzione fino a quando non si digita un tasto, mentre il comando pause(n) mette in pausa l'esecuzione per n secondi.

Echo

Disattivazione echo echo off dalla command window

Flussi di controllo if elseif else end switch case otherwise end for end while end break

if if expression statements end Se l’espressione è vera vengono eseguite le istruzioni contenute tra if ed end.

if else end Verificare se il numero inserito e’ pari o dispari

if expression1 statements1 elseif expression2 statements2 else statements3 end Se l’espressione 1 è falsa e l’espressione 2 e’ vera, Matlab esegue le istruzioni indicate da statements2, nel caso in cui non sono vere entrambe le espressioni 1 e 2 verranno eseguite le statements3

n=input('Introduci il numero n '); if rem(n,2) < 0 disp ( 'il numero è negativo e dispari ' ) elseif rem(n,2) > 0 disp( 'il numero è positivo e dispari ' ) else disp( 'il numero è pari' ) end

switch case otherwise end Il comando switch può essere usato nel caso di if multipli:

switch rem(n,2) case -1 disp ( 'il numero è negativo e dispari' ) case 1 disp( 'il numero è positivo e dispari' ) otherwise disp( 'il numero è pari' ) end