Università degli Studi di Ferrara

Documenti analoghi
Università degli Studi di Ferrara Corso di Laurea in Chimica - A.A

Introduzione. Corso di Metodi Numerici. 06 Marzo 2019

Introduzione al MATLAB c Parte 1 Variabili ed array

Introduzione al MATLAB c Parte 1 Variabili ed array

MATLAB c Utilizzo di Matlab. Operazioni fondamentali. Elementi di grafica.

CORSO DI LABORATORIO DI INFORMATICA

INTRODUZIONE A MATLAB

Introduzione a Matlab

PON Liceo Scientifico Leonardo da Vinci. Vallo della Lucania

Introduzione allo Scilab Parte 1: numeri, variabili ed operatori elementari

MATLAB Elementi di grafica Costrutti di programmazione

Fondamenti di Informatica A. A / 1 9

Introduzione a Matlab

Introduzione a Matlab. Renato Mainetti

INTRODUZIONE A MATLAB. Introduzione. Calcolatrice base. Calcolatrice base. Variabili predefinite o speciali. Variabili predefinite o speciali

Informatica Applicata al Suono Tutorial Matlab

1) Matlab e simulazione. 2) Esempi di utilizzo. Mauro De Sanctis corso di Informazione e Codifica Università di Roma Tor Vergata

INTRODUZIONE A MATLAB/OCTAVE

Fondamenti di Informatica

19 FEBBRAIO 2009 PRIMA PARTE

Introduzione a Matlab

Università degli Studi di Napoli Federico II CdL Ing. Elettrica Corso di Laboratorio di Circuiti Elettrici

Introduzione al MATLAB c

Introduzione a MATLAB

Introduzione. MATLAB è l acronimo di MATrix LABoratory

Complementi di Matematica e Calcolo Numerico A.A Francesca Fierro. Pagina web:

MATLAB - Introduzione. Antonino Polimeno

Scilab. Introduzione a Scilab - Vettori. Corso di Informatica CdL: Chimica. Claudia d'amato.

Introduzione al MATLAB c Parte 1

Università degli Studi di Ferrara

Laboratorio di Matlab

A.A. 2018/2019. Introduzione a MATLAB FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE. Docente Prof. Raffaele Pizzolante

Introduzione a MATLAB

Algoritmi stabili e instabili

Metodi di Analisi dei Dati Sperimentali. AA 2009/2010 Pier Luca Maffettone. Elementi di Matlab

Introduzione a Matlab

Università degli Studi di Ferrara Corso di Laurea in Chimica - A.A

Calcolo Numerico A.A Esercitazione n

Università degli Studi di Ferrara

I passi necessari per installare il software, descritti in dettaglio nelle pagine seguenti, sono:

Esercitazione 00 Introduzione a Matlab

Università degli Studi di Napoli Federico II CdL Ing. Elettrica Corso di Laboratorio di Circuiti Elettrici

Foglio di esercizi n.1

Francesca Mazzia Dipartimento Interuniversitario di Matematica Università di Bari. MATLAB: lezione introduttiva

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

Matlab è un sistema software per calcolo numerico Sistema = collezione di componenti SW (pensiamoli come programmi ) Ampiamente utilizzato per

Introduzione a Matlab ed Espressioni

Caratteristiche di un linguaggio ad alto livello

I numeri reali e la loro rappresentazione

Calcolo Numerico A.A Esercitazione n

A.A. 2018/2019. Fondamenti di Programmazione in MATLAB FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE. Docente Prof. Raffaele Pizzolante

Introduzione a Matlab (e al Calcolo Numerico)

Università degli Studi di Ferrara

Introduzione ad Octave

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

Variabile, costante ed espressione

UTILIZZO DI MATLAB OPERAZIONI FONDAMENTALI

Laboratorio di Calcolo Numerico Laboratorio 3: Algoritmi stabili e instabili, Bisezione

Università degli Studi di Ferrara

INTRODUZIONE AL LINGUAGGIO DI PROGRAMMAZIONE PASCAL. Per iniziare lo studio del linguaggio di programmazione pascal, consideriamo il seguente esempio.

Introduzione al MATLAB c Parte 2 Funzioni

Matlab TAH Student License Istruzioni

Per la descrizione dei comandi MATLAB verranno usate le seguenti convenzioni.

LABORATORIO /03/2005

Laboratorio 1 - Introduzione a MATLAB

Laboratorio di Informatica

Introduzione a MatLab

Introduzione all ambiente Matlab

Laboratorio 1 Introduzione a Matlab R - Octave

Esercitazione 1: Introduzione a MATLAB

Dinamica e Controllo dei Processi Energetici. AA 2009/2010 Pier Luca Maffettone. Elementi di Matlab

Lezione 19: Introduzione a MATLAB Mercoledì 21 Ottobre 2009

Interfaccia utente Al momento dell apertura del software viene visualizzata la finestra dei comandi principali.

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

I passi necessari per installare il software, descritti in dettaglio nelle pagine seguenti, sono:

Laboratorio di Programmazione II Corso di Laurea in Bioinformatica Dipartimento di Informatica - Università di Verona

Laboratorio di Matematica Computazionale A.A Lab. 1 - Introduzione a Matlab

Introduzione a MATLAB

Dati due punti sul piano calcolare la loro distanza

L adozione di MATLAB e Simulink nei Corsi di Ingegneria al Politecnico di Milano. Maurizio Magarini MATLAB EXPO Milano, 4 novembre 2014

Laboratorio 1. Introduzione a Matlab

Introduzione a MATLAB

Introduzione a MATLAB

Programmazione Procedurale in Linguaggio C++

Programmare. Condizioni logiche. Condizioni Logiche Costrutti Decisionali Costrutti di Ciclo

Introduzione alla programmazione A. Ferrari

Matlab. Prime nozioni.

Prof. Pagani Corrado INTRODUZIONE AL LINGUAGGIO C

Parte 1 Tutorial Definizioni preliminari

1 LABORATORIO DI SEGNALI E SISTEMI: INTRODUZIONE A MATLAB. Tagliavini Alessia 30/04/2014

Fondamenti di Informatica

Università degli Studi di Ferrara

alsoftwork Manuale d' uso di X_Calc V.1.0 Calcolatrice scientifica Utilizzo di X_Calc Questo pulsante abilita/disabilita la calcolatrice scientifica.

Transcript:

Università degli Studi di Ferrara Corso di Laurea in Matematica - A.A. 2017-2018 Programmazione Lezione 13 MATLAB Docente: Michele Ferrari - michele.ferrari@unife.it

Nelle lezioni precedenti Un problema può essere analizzato e scomposto per ottenere sotto problemi indipendenti più semplici Partire dal problema per giungere ai sottoproblemi è detta progettazione TOP DOWN Partire da un insieme di sotto problemi elementari, assemblandoli per risolvere un problema più complesso, è detta progettazione BOTTOM UP Un problema può essere risolto scomponendolo in sotto programmi, a questo punto avremo un programma principale con il compito di chiamare i sottoprogrammi che si preoccupano di risolvere un dato sotto problema Tali sotto programmi in C si chiamano funzioni, una funzione prende in ingresso parametri (argomenti) e può restituire il risultato di una computazione (valore di ritorno) Michele Ferrari - michele.ferrari@unife.it 2

In questa lezione MATLAB Installare MATLAB Ambientarsi in MATLAB: L interfaccia Interprete dei comandi Primi comandi elementari Michele Ferrari - michele.ferrari@unife.it 3

MATLAB MATLAB è un software creato da MathWorks e comprende un ambiente per il calcolo numerico e l'analisi statistica (scritto in C) e un linguaggio di programmazione. Il nome MATLAB è l abbreviazione di MATrix LABoratory Michele Ferrari - michele.ferrari@unife.it 4

MATLAB: storia MATLAB fu scritto originariamente in Fortran con l intento di fornire un facile accesso ai software basati sull uso di matrici. Gli algoritmi alla base del calcolo matriciale erano presenti nei progetti LINPACK* e EISPACK** L attuale MATLAB è stato scritto in C dalla The Mathworks. *LINPACK: si tratta di una libreria software Fortran sviluppata per eseguire operazioni di algebra lineare. **EISPACK: altra libreria software Fortran dedicata al calcolo di autovalori ed autovettori Michele Ferrari - michele.ferrari@unife.it 5

MATLAB: caratteristiche MATLAB è uno strumento interattivo il cui elemento base è un array che non richiede dimensionamento. Questo consente di risolvere molti problemi tecnici in un intervallo di tempo che bisognerebbe spendere per dichiarare, ad esempio, matrici e vettori in un linguaggio non interattivo, come C o Fortran. In ambiente universitario MATLAB è lo strumento standard per i corsi di base e avanzati di Matematica, Ingegneria e Scienze. Nell industria MATLAB viene scelto per l alta produttività nella ricerca, nello sviluppo e nell analisi. Michele Ferrari - michele.ferrari@unife.it 6

MATLAB: caratteristiche Oggi MATLAB comprende strumenti per l analisi dei dati, l esplorazione e la visualizzazione, l elaborazione numerica e simbolica, la grafica scientifica ed ingegneristica, la modellizzazione, la simulazione, la programmazione, lo sviluppo delle applicazioni e la conversione automatica di programmi MATLAB nei codici C e C++. MATLAB comprende strumenti per l algebra lineare e per le operazioni con matrici, funzioni di Fourier, funzioni statistiche, matematiche e trigonometriche, funzioni per la risoluzione di equazioni differenziali, supporti per le matrici sparse, funzioni interattive per la rappresentazione grafica 2D, 3D e 4D. MATLAB comprende anche famiglie opzionali di applicazioni dedicate alla risoluzione di problemi specifici, chiamate toolbox, che consentono di conoscere e di applicare tecnologie specializzate per particolari classi di problemi, come sistemi di controllo, reti neurali, elaborazione dei segnali, simulazioni, ricerche mediche ecc.. Michele Ferrari - michele.ferrari@unife.it 7

Installare MATLAB MATLAB è fornito gratuitamente agli studenti dell Università degli Studi di Ferrara per mezzo di un abbonamento TAH (Total Academic Headcount) con scadenza annuale. Per ottenere la propria copia di MATLAB sono sufficienti tre passaggi: 1.Registrarsi sul sito Mathworks con la propria mail student.unife.it ed il codice licenza fornito dall università 2.Scaricare il software nella versione desiderata 3.Installare il software ed i toolbox necessari Michele Ferrari - michele.ferrari@unife.it 8

Passo 1: Registrarsi Andare sul sito https://it.mathworks.com/ e click su Entra in alto a destra (se non è presente andare in una sottosezione del sito, ad esempio prodotti, e dovrebbe comparire sempre in alto a destra) Michele Ferrari - michele.ferrari@unife.it 9

Passo 1: Registrarsi Alla finestra di Login, click su Create Account Michele Ferrari - michele.ferrari@unife.it 10

Passo 1: Registrarsi Inserire il proprio indirizzo email student.unife.it, il proprio paese (Italy), e selezionare Academic Use. Una volta reso noto al signor Mathworks che siete giovani ma non troppo click su Create. La password dovrà contenere numeri, lettere maiuscole, lettere minuscole: se non siete usi a questa pratica e temete di dimenticarla scrivetevela da qualche parte! Michele Ferrari - michele.ferrari@unife.it 11

Passo 1: Registrarsi Come ogni registrazione che si rispetti Mathworks invierà alla vostra casella di posta un messaggio con link per confermare l indirizzo email inserito in fase di registrazione. Ora dobbiamo associare la licenza al vostro account appena creato, se richiesta in fase di creazione inserite il seguente codice: 38126-92284-76765-40650-43058 Possiamo anche inserire la licenza in un secondo momento: una volta autenticati sul sito click sul proprio nome in alto a destra, licenza associata e inserire il codice. Michele Ferrari - michele.ferrari@unife.it 12

Passo 2: Scaricare il software Premessa: MATLAB è un software multipiattaforma, è offerto per Windows, Linux e Mac OS, da diverse versioni il software è però disponibile solo a 64 bit. Se si possiede un sistema per qualche ragione a 32 bit l ultima versione disponibile per la piattaforma è la R2015b, disponibile in abbonamento e assolutamente sufficiente per le esercitazioni del corso. Michele Ferrari - michele.ferrari@unife.it 13

Passo 2: Scaricare il software Click sul proprio account in alto a destra Il Mio Account click sul pulsante di download per la licenza associata Michele Ferrari - michele.ferrari@unife.it 14

Passo 2: Scaricare il software La pagina successiva vi presenta in grande a sinistra il suggerimento per il download (ovvero l ultima versione disponibile in base al vostro OS, riconosciuto tramite scambio di convenevoli con il vostro browser). Nella maggior parte dei casi si tratta (ad oggi) di MATLAB R2017b per Windows a 64 bit, ci va benissimo: scarichiamola! Michele Ferrari - michele.ferrari@unife.it 15

Passo 3: Installazione del Software L installazione consiste in 4 punti principali: Selezione del modo di installazione (Install automatically using the internet) Autenticazione Selezione dei toolbox (possiamo tralasciare, ai fini del corso, simulink, toolbox correlati a simulink ed i toolbox matlab dai nomi più esoterici, in ogni caso possono essere aggiunti in seguito, rieseguendo l installer) Attivazione Michele Ferrari - michele.ferrari@unife.it 16

Passo 3: Installazione del Software L installazione prenderà un po di tempo e scaricherà tutti i pacchetti selezionati da internet (diversi giga), pertanto è consigliabile eseguirla in Università o, comunque, ove disponibile una connessione flat e non a consumo. Michele Ferrari - michele.ferrari@unife.it 17

Passo 3: Installazione del Software Note: Su sistema operativo Linux Ubuntu, per completare l installazione si consiglia di installare il pacchetto matlab-support disponibile nei repository della distribuzione: sudo apt-get install matlab-support Michele Ferrari - michele.ferrari@unife.it 18

L interfaccia di Matlab Current Folder: navigazione cartelle e file Command Window: Interprete dei comandi Workspace: variabili e valori Michele Ferrari - michele.ferrari@unife.it 19

Command Window Matlab è un linguaggio interpretato che, oltre a supportare il classico file sorgente (file.m) permette una sessione interattiva per mezzo della command window: questa ci permetterà di interagire direttamente con l ambiente, ogni comando verrà passato all interprete, analizzato secondo la sintassi del linguaggio di programmazione ed eseguito in tempo reale. Michele Ferrari - michele.ferrari@unife.it 20

Introduzione alle operazioni di base Abbiamo detto che il tipo base di matlab è un array, questo fa intuire la vocazione del software ad un approccio di tipo vettoriale ai problemi. Iniziamo a familiarizzare con le operazioni scalari ricordando però che in matlab un dato scalare è in realtà un array 1x1. Michele Ferrari - michele.ferrari@unife.it 21

Operazioni di base in Matlab Utilizzando la Command Window Matlab può essere utilizzato in modo diretto ed interattivo per calcolare semplici espressioni matematiche >> 5 2 + 3 ans = 6 Notiamo che ans è una variabile generata automaticamente quando l espressione non è assegnata ad una variabile definita dall utente. Notiamo inoltre come ans (abbreviazione di answer) compaia immediatamente nella sezione workspace dell interfaccia con il valore appena calcolato. ans può essere immediatamente utilizzata, come una variabile qualsiasi, per una nuova computazione, se tale computazione non viene però assegnata ad un altra variabile, il valore di ans viene sovrascritto. Michele Ferrari - michele.ferrari@unife.it 22

Operazioni di base in Matlab Michele Ferrari - michele.ferrari@unife.it 23

Operazioni di base in Matlab Come visto nell esempio possiamo anche definire nuove variabili semplicemente scrivendo: >> a = 5-2 a = 3 >> b = 3 b = 3 >> c = a+b c = 6 Michele Ferrari - michele.ferrari@unife.it 24

Operazioni di base in Matlab Il comportamento di default della Command Window è quello di mostrare il risultato di ogni operazione a meno che questa non termini con il punto e virgola. Riscrivere le operazioni appena viste aggiungendo ; al termine di ogni operazione comporterà la medesima esecuzione delle operazioni senza la visualizzazione del risultato ad ogni passaggio. Michele Ferrari - michele.ferrari@unife.it 25

Operazioni di base in Matlab Per poter visualizzare in ogni momento il contenuto di una variabile sarà sufficiente scriverne il nome, per visualizzare il contenuto di più variabili sarà sufficiente scriverne i nomi separati da virgola, per visualizzare tutte le varibili presenti nel workspace si può utilizzare il comando whos: >> whos Name Size Bytes Class Attributes ans 1x1 8 double b 1x1 8 double Michele Ferrari - michele.ferrari@unife.it 26

Operazioni di base in Matlab Dai precedenti esempi si può notare come le variabili siano create automaticamente da MATLAB al momento del loro uso. Se una variabile non esiste viene creata non appena compare nel termine di sinistra di una uguaglianza (assegnazione!). I nomi di variabili possono essere lunghi un massimo di 31 caratteri con la distinzione tra lettere maiuscole e minuscole (Case Sensitive: Pippo è diverso da pippo). La prima lettera di una variabile deve essere un carattere alfabetico (a-z,a-z) mentre dalla seconda lettera in avanti possiamo utilizzare un qualsiasi carattere alfanumerico incluso il simbolo underscore _. Michele Ferrari - michele.ferrari@unife.it 27

MATLAB: Variabili Predefinite Variabile ans i,j Significato valore ultima operazione eseguita non assegnata a variabile unità immaginaria pi π, 3.14159265... eps realmax realmin Inf NaN precisione di macchina massimo numero macchina positivo minimo numero macchina positivo, ossia un numero maggiore di realmax Not a Number, tipicamente il risultato di un espressione 0/0 Michele Ferrari - michele.ferrari@unife.it 28

MATLAB: Variabili Predefinite Nonostante sia ammesso assegnare valori diversi a queste variabili, in generale è buona norma evitare di farlo, fatta eccezione per le variabili i e j spesso usate come indici interi. Michele Ferrari - michele.ferrari@unife.it 29

Operatori di base in Matlab Operatore Significato + addizione - sottrazione * moltiplicazione / divisione ^.* Elevamento a potenza Moltiplicazione termine a termine per vettori./ Divisione termine a termine per vettori.^ Elevamento a potenza termine a termine per vettori Michele Ferrari - michele.ferrari@unife.it 30

MATLAB: Numeri Complessi L utilizzo di operazioni su numeri complessi è ammesso. Possiamo quindi scrivere espressioni del tipo >> a=3+2i; >> b=3.6+2.4*i; >> a+b ans = 6.6000 + 4.4000i >> a*b ans = 6.0000 +14.4000i L unità immaginaria è rappresentata dalle variabili i e j ed è tale che i2= 1, j2= 1. Le forme a= 3+2i, a= 3+2*i, a= 3+2j, a= 3+2*j sono accettate e sono equivalenti. Oltre alle operazioni di base, molte delle funzioni comunemente presenti su una calcolatrice scientifica sono presenti in MATLAB. Una funzione necessita di alcuni parametri in ingresso, elencati tra parentesi tonde, e solitamente restituisce un risultato che può essere assegnato ad una variabile. Michele Ferrari - michele.ferrari@unife.it 31

Funzioni e Comandi E importante a questo punto distinguere tra funzioni e comandi: Come abbiamo visto in c le funzioni sono sottoprogrammi autonomi ed indipendenti con il compito si risolvere un problema, la sintassi è analoga a quanto già visto nel linguaggio c: il nome della funzione, il/i parametro/i tra parentesi tonde, ove presente il valore di ritorno da associare ad una variabile I comandi sono istruzioni proprie dell ambiente, la sintassi è comando spazio argomento del comando Michele Ferrari - michele.ferrari@unife.it 32

Esempio: la funzione coseno L espressione >> y=cos(pi/4) y = 0.7071 utilizza la funzione coseno con argomento π/4 e ne assegna il risultato alla variabile y. Michele Ferrari - michele.ferrari@unife.it 33

Esempio: il comando help L espressione >> help cos COS Cosine. COS(X) is the cosine of the elements of X visualizza una descrizione rapida della funzione coseno in MATLAB. Michele Ferrari - michele.ferrari@unife.it 34

Il comando help Il comando help consente di avere una descrizione immediata di una funzione, un comando oppure un operazione MATLAB, semplicemente passando il nome della funzione, del comando oppure dell operazione come argomento. Michele Ferrari - michele.ferrari@unife.it 35

Il comando lookfor Il comando lookfor consente di identificare le funzioni relative ad un particolare argomento. Il comando identifica tutte le funzioni all interno della cui descrizione compare l argomento passato al comando lookfor. Ad esempio l espressione >> lookfor logarithm LOGSPACE Logarithmically spaced vector. LOG Natural logarithm. LOG10 Common (base 10) logarithm. LOG2 Base 2 logarithm and dissect floating point number. BETALN Logarithm of beta function. GAMMALN Logarithm of gamma function. LOGM Matrix logarithm. restituisce una lista di funzioni (in maiuscolo) con una breve descrizione delle stesse. Michele Ferrari - michele.ferrari@unife.it 36

Principali funzioni in MATLAB Funzione sin cos asin acos tan atan exp log sqrt abs sign Significato seno coseno arcoseno arcocoseno tangente arcotangente esponenziale Logaritmo naturale Radice quadrata Valore assoluto Funzione segno Per una lista più esaustiva si può utilizzare il comando >>help elfun Michele Ferrari - michele.ferrari@unife.it 37

Il comando format Il risultato della precedente operazione cos(π/4) viene visualizzato utilizzando quattro cifre decimali. Questa è l impostazione di default di MATLAB. E possibile modificarla tramite il comando format. La sequenza di istruzioni >> format long >> cos(pi/4) ans = 0.70710678118655 >> format short abilita prima il formato a 14 cifre decimali, calcola il risultato, poi riattiva il formato standard a 4 cifre decimali. E importante evidenziare che la modifica della visualizzazione di un risultato tramite format non ha nulla a che vedere con l effettiva precisione con cui MATLAB effettua il calcolo. Michele Ferrari - michele.ferrari@unife.it 38

Iniziamo... Si invita a prendere visione di quanto appena illustrato e a fare i primi esperimenti sul software Un buon punto di partenza è: >> help help >> help lookfor Michele Ferrari - michele.ferrari@unife.it 39

Grazie per l attenzione Michele Ferrari - michele.ferrari@unife.it 40

Riferimenti Il corso di programmazione per il primo anno della Laurea Triennale in Matematica nasce con l'intento di unire ai principi di programmazione una conoscenza basilare di uno degli strumenti software più diffusi nell'ambito matematico: Matlab. Per la parte introduttiva di MATLAB: L. Pareschi, G. Dimarco Introduzione a MATLAB, corso di Laboratorio di Calcolo Numerico 2006 Michele Ferrari - michele.ferrari@unife.it 41