Introduzione al MATLAB

Documenti analoghi
Introduzione a Matlab

Fondamenti di Informatica A. A / 1 9

Introduzione. Corso di Metodi Numerici. 06 Marzo 2019

INTRODUZIONE A MATLAB

Introduzione a MATLAB

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

Fondamenti di Informatica

MATLAB Elementi di grafica Costrutti di programmazione

Introduzione a Matlab

Introduzione a Matlab

UNIVERSITÀ DEGLI STUDI DI PAVIA FACOLTÀ DI INGEGNERIA. Introduzione a Matlab

Ciclo di seminari: Metodi Computazionali per la Finanza

Laboratorio di Matlab

Elementi di Calcolo Scientifico per l Ingegneria A.A

1. Si scriva una function Matlab che implementa il seguente metodo di punto fisso

Vettori e Matrici. Corso di Calcolo Numerico. 24 Aprile 2018

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

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

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

Introduzione a Matlab

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

Esercitazione 00 Introduzione a Matlab

Laboratorio di Calcolo Numerico Laboratorio 8: Vettori e Matrici

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

Introduzione al MATLAB c Parte 2

Calcolo Numerico I - A.A Laboratorio 3

Introduzione a MatLab

Fondamenti di Automatica

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

Metodi numerici con elementi di Programmazione A.A

Strutture di controllo condizionali in Matlab

MATLAB - Programmazione - 2. Antonino Polimeno

Foglio di esercizi n.1

Introduzione al MATLAB c Parte 1 Variabili ed array

Calcolo Numerico Introduzione a Matlab/Octave

Introduzione a MATLAB

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

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

LABORATORIO /03/2005

Laboratorio di INFORMATICA. 15 ottobre 2009

Università degli Studi di Ferrara

Introduzione al MATLAB c Parte 1 Variabili ed array

Introduzione. MATLAB è l acronimo di MATrix LABoratory

Introduzione a MATLAB

Introduzione a Matlab Parte 1

CORSO DI LABORATORIO DI INFORMATICA

MATLAB - Introduzione. Antonino Polimeno

Uso avanzato di MATLAB

Introduzione a MATLAB

FONDAMENTI DI INFORMATICA. Prof. Alfredo Accattatis Tutor: prof. Venturino Taggi

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

Informatica Applicata al Suono Tutorial Matlab

Calcolo Numerico I - a.a Laboratorio 1 - Introduzione a MATLAB

FONDAMENTI DI INFORMATICA

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

Introduzione a Matlab

Laboratorio di Matlab

Introduzione a Matlab

Matlab: Variabili e Array. Informatica B

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

G. Bracco.Appunti di Fisica Generale. G. Bracco.Appunti di Fisica Generale

Introduzione a MATLAB

MATLAB c. Lucia Gastaldi Dipartimento di Matematica Lezione 4 (15 ottobre 2003)

Calcolo Numerico A.A Lab n

Laboratorio di Matematica Computazionale A.A Lab. 3

Introduzione a MATLAB

Matlab. Cristina Falcinelli, PhD

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

Laboratorio di Calcolo Numerico Introduzione a Matlab/Octave

Esercitazioni di MatLab

INTRODUZIONE A MATLAB/OCTAVE

Breve introduzione a MATLAB

Introduzione ad Octave

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

Qualsiasi programma in C++ segue lo schema:

Prove d esame Esercizi con Matlab

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

Introduzione a MATLAB

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

DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOIGNEGNERIA. INFORMATICA B Ingegneria Elettrica. Script in Matlab

Introduzione all ambiente MATLAB

Analisi Numerica I Introduzione a Matlab

Introduzione a Matlab (e al Calcolo Numerico)

PON Liceo Scientifico Leonardo da Vinci. Vallo della Lucania

Introduzione a Matlab e Simulink. Autore: Simone Ciotti, Centro di Ricerca E.Piaggio, UNIPI

Visualizzazione di dati

Università degli Studi di Ferrara

PON Liceo Scientifico Leonardo da Vinci. Vallo della Lucania

Lab 5 Info B. Marco D. Santambrogio Riccardo Cattaneo Ver. aggiornata al 9 Agosto 2013

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

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

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

Introduzione al MATLAB c Parte 2 Funzioni

Laboratorio di Calcolo Numerico Laboratorio 3: Algoritmi stabili e instabili Programma gnuplot

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

Script in Matlab. INFORMATICA B + C (sezione L-Z) Ingegneria Elettrica, Chimica e dei Materiali

Transcript:

al MATLAB Francesca Zanello Padova, 27 Aprile 2009 al MATLAB 1

base Esempio: Algebra lineare File input/output al MATLAB 2

Avviare MATLAB 1. MATLAB è un ambiente integrato per il Calcolo Scientifico e la visualizzazione grafica scritto in inguaggio C e C++ 2. MATLAB è distribuito da The MathWorks Inc (www.mathworks.com) 3. MATLAB sta per MATrix LABoratory in quanto fu originariamente sviluppato per consentire un accesso immediato a pacchetti software per il calcolo matriciale 4. MATLAB è un linguaggio interpretato: richiede un numero maggiore di operazioni macchina rispetto ad un linguaggio compilato non va linkato alle subroutine di libreria include numerose funzioni già ottimizzate dal punto di vista dell efficienza computazionale è possibile scrivere dei programmi MATLAB (script.m) permette l elaborazione dei risultati mediante diagrammi 5. Esistono piattaforme open-source con funzioni equivalenti a MATLAB (ad es. Octave, www.octave.org) al MATLAB 3

Avviare MATLAB 1. MATLAB è un ambiente integrato per il Calcolo Scientifico e la visualizzazione grafica scritto in inguaggio C e C++ 2. MATLAB è distribuito da The MathWorks Inc (www.mathworks.com) 3. MATLAB sta per MATrix LABoratory in quanto fu originariamente sviluppato per consentire un accesso immediato a pacchetti software per il calcolo matriciale 4. MATLAB è un linguaggio interpretato: richiede un numero maggiore di operazioni macchina rispetto ad un linguaggio compilato non va linkato alle subroutine di libreria include numerose funzioni già ottimizzate dal punto di vista dell efficienza computazionale è possibile scrivere dei programmi MATLAB (script.m) permette l elaborazione dei risultati mediante diagrammi 5. Esistono piattaforme open-source con funzioni equivalenti a MATLAB (ad es. Octave, www.octave.org) al MATLAB 3

Avviare MATLAB 1. MATLAB è un ambiente integrato per il Calcolo Scientifico e la visualizzazione grafica scritto in inguaggio C e C++ 2. MATLAB è distribuito da The MathWorks Inc (www.mathworks.com) 3. MATLAB sta per MATrix LABoratory in quanto fu originariamente sviluppato per consentire un accesso immediato a pacchetti software per il calcolo matriciale 4. MATLAB è un linguaggio interpretato: richiede un numero maggiore di operazioni macchina rispetto ad un linguaggio compilato non va linkato alle subroutine di libreria include numerose funzioni già ottimizzate dal punto di vista dell efficienza computazionale è possibile scrivere dei programmi MATLAB (script.m) permette l elaborazione dei risultati mediante diagrammi 5. Esistono piattaforme open-source con funzioni equivalenti a MATLAB (ad es. Octave, www.octave.org) al MATLAB 3

Avviare MATLAB 1. MATLAB è un ambiente integrato per il Calcolo Scientifico e la visualizzazione grafica scritto in inguaggio C e C++ 2. MATLAB è distribuito da The MathWorks Inc (www.mathworks.com) 3. MATLAB sta per MATrix LABoratory in quanto fu originariamente sviluppato per consentire un accesso immediato a pacchetti software per il calcolo matriciale 4. MATLAB è un linguaggio interpretato: richiede un numero maggiore di operazioni macchina rispetto ad un linguaggio compilato non va linkato alle subroutine di libreria include numerose funzioni già ottimizzate dal punto di vista dell efficienza computazionale è possibile scrivere dei programmi MATLAB (script.m) permette l elaborazione dei risultati mediante diagrammi 5. Esistono piattaforme open-source con funzioni equivalenti a MATLAB (ad es. Octave, www.octave.org) al MATLAB 3

Avviare MATLAB 1. MATLAB è un ambiente integrato per il Calcolo Scientifico e la visualizzazione grafica scritto in inguaggio C e C++ 2. MATLAB è distribuito da The MathWorks Inc (www.mathworks.com) 3. MATLAB sta per MATrix LABoratory in quanto fu originariamente sviluppato per consentire un accesso immediato a pacchetti software per il calcolo matriciale 4. MATLAB è un linguaggio interpretato: richiede un numero maggiore di operazioni macchina rispetto ad un linguaggio compilato non va linkato alle subroutine di libreria include numerose funzioni già ottimizzate dal punto di vista dell efficienza computazionale è possibile scrivere dei programmi MATLAB (script.m) permette l elaborazione dei risultati mediante diagrammi 5. Esistono piattaforme open-source con funzioni equivalenti a MATLAB (ad es. Octave, www.octave.org) al MATLAB 3

Avviare MATLAB 1. MATLAB è un ambiente integrato per il Calcolo Scientifico e la visualizzazione grafica scritto in inguaggio C e C++ 2. MATLAB è distribuito da The MathWorks Inc (www.mathworks.com) 3. MATLAB sta per MATrix LABoratory in quanto fu originariamente sviluppato per consentire un accesso immediato a pacchetti software per il calcolo matriciale 4. MATLAB è un linguaggio interpretato: richiede un numero maggiore di operazioni macchina rispetto ad un linguaggio compilato non va linkato alle subroutine di libreria include numerose funzioni già ottimizzate dal punto di vista dell efficienza computazionale è possibile scrivere dei programmi MATLAB (script.m) permette l elaborazione dei risultati mediante diagrammi 5. Esistono piattaforme open-source con funzioni equivalenti a MATLAB (ad es. Octave, www.octave.org) al MATLAB 3

Avviare MATLAB Avviare MATLAB In ambiente Windows e Unix dal menu Applicazioni selezionare MATLAB. In alternativa, in ambiente Unix si lancia il comando matlab da una finestra di terminale. al MATLAB 4

Gestione sessione di lavoro Gestione sessione Scalari Array Relazioni e operatori logici Esempio 1 Nomi delle variabili: devono iniziare con una lettera non possono essere più lunghi di 32 caratteri MATLAB è case sensitive per gestire una sessione di lavoro con MATLAB Comando Descrizione help Help di MATLAB quit Chiude MATLAB clc Cancella il contenuto della finestra dei comandi clear Elimina tutte le variabili in memoria clear var1 var2 Elimina le variabili var1 e var2 dalla memoria exist ( nome ) Determina se un file o una variabile hanno il nome specificato Elenca le variabili che si trovano correntemente in memoria who whos Elenca le variabili e i corrispondenti valori e indica se le variabili hanno parte immaginaria non nulla, Separa le istruzioni ; Esclude la visualizzazione del risultato di un istruzione e separa le righe di un array... Continua l istruzione alla riga successiva al MATLAB 5

Gestione sessione di lavoro Gestione sessione Scalari Array Relazioni e operatori logici Esempio 1 Nomi delle variabili: devono iniziare con una lettera non possono essere più lunghi di 32 caratteri MATLAB è case sensitive per gestire una sessione di lavoro con MATLAB Comando Descrizione help Help di MATLAB quit Chiude MATLAB clc Cancella il contenuto della finestra dei comandi clear Elimina tutte le variabili in memoria clear var1 var2 Elimina le variabili var1 e var2 dalla memoria exist ( nome ) Determina se un file o una variabile hanno il nome specificato Elenca le variabili che si trovano correntemente in memoria who whos Elenca le variabili e i corrispondenti valori e indica se le variabili hanno parte immaginaria non nulla, Separa le istruzioni ; Esclude la visualizzazione del risultato di un istruzione e separa le righe di un array... Continua l istruzione alla riga successiva al MATLAB 5

Scalari Gestione sessione Scalari Array Relazioni e operatori logici Esempio 1 Costanti predefinite Nome Descrizione ans variabile temporanea che contiene il risultato più recente eps Specifica la precisione dei numeri decimali Inf Infinito ( ) NaN Risultato numerico indefinito pi Numero π = 1.314159... i,j unità immaginaria i = j = 1 base su scalari Simbolo Operazione Formato MATLAB ^ Elevazione a potenza: a b a^b * Moltiplicazione: a*b a*b / Divisione a destra o diretta: a/b = a:b a/b \ Divisione a sinistra o inversa: b \a = a:b b\a + Addizione: a+b a+b - Sottrazione: a-b a-b al MATLAB 6

Scalari Gestione sessione Scalari Array Relazioni e operatori logici Esempio 1 Costanti predefinite Nome Descrizione ans variabile temporanea che contiene il risultato più recente eps Specifica la precisione dei numeri decimali Inf Infinito ( ) NaN Risultato numerico indefinito pi Numero π = 1.314159... i,j unità immaginaria i = j = 1 base su scalari Simbolo Operazione Formato MATLAB ^ Elevazione a potenza: a b a^b * Moltiplicazione: a*b a*b / Divisione a destra o diretta: a/b = a:b a/b \ Divisione a sinistra o inversa: b \a = a:b b\a + Addizione: a+b a+b - Sottrazione: a-b a-b al MATLAB 6

Array Gestione sessione Scalari Uno dei principali punti di forza del MATLAB è la capacità di gestire grandi insiemi di numeri, denominati array, come se fossero una singola variabile. Principali classi di array: Array Relazioni e operatori logici Esempio 1 numeric single double int8, int16, int32 uint8, uint16, uint32 character logical true false al MATLAB 7

Array Gestione sessione Scalari Uno dei principali punti di forza del MATLAB è la capacità di gestire grandi insiemi di numeri, denominati array, come se fossero una singola variabile. Principali classi di array: Array Relazioni e operatori logici Esempio 1 numeric single double int8, int16, int32 uint8, uint16, uint32 character logical true false al MATLAB 7

Array Gestione sessione Scalari Uno dei principali punti di forza del MATLAB è la capacità di gestire grandi insiemi di numeri, denominati array, come se fossero una singola variabile. Principali classi di array: Array Relazioni e operatori logici Esempio 1 numeric single double int8, int16, int32 uint8, uint16, uint32 character logical true false al MATLAB 7

Array Gestione sessione Scalari Uno dei principali punti di forza del MATLAB è la capacità di gestire grandi insiemi di numeri, denominati array, come se fossero una singola variabile. Principali classi di array: Array Relazioni e operatori logici Esempio 1 numeric single double int8, int16, int32 uint8, uint16, uint32 character logical true false al MATLAB 7

Matrici Gestione sessione Scalari Array Relazioni e operatori logici Esempio 1 Gli array bidimensionali sono detti matrici MATLAB tratta i vettori come casi particolari di matrici Gli indici di un array sono i numeri di riga e di colonna che identificano i vari elementi di un array. Operatore due punti (:) seleziona i singoli elementi, righe, colonne o sottoarray di array Comando v(:) Descrizione rappresenta tutte le componenti del vettore v v(2:5) rappresenta le componenti comprese tra la 2 e la 5 A(:,3) identifica tutti gli elementi nella terza colonna di A A(:,2:5) identifica tutti gli elementi dalla seconda alla quinta colonna di A A(1:3,2:5) identifica tutti gli elementi nelle righe dalla prima alla terza che si trovano dalla seconda alla quinta colonna di A al MATLAB 8

Matrici Gestione sessione Scalari Array Relazioni e operatori logici Esempio 1 Gli array bidimensionali sono detti matrici MATLAB tratta i vettori come casi particolari di matrici Gli indici di un array sono i numeri di riga e di colonna che identificano i vari elementi di un array. Operatore due punti (:) seleziona i singoli elementi, righe, colonne o sottoarray di array Comando v(:) Descrizione rappresenta tutte le componenti del vettore v v(2:5) rappresenta le componenti comprese tra la 2 e la 5 A(:,3) identifica tutti gli elementi nella terza colonna di A A(:,2:5) identifica tutti gli elementi dalla seconda alla quinta colonna di A A(1:3,2:5) identifica tutti gli elementi nelle righe dalla prima alla terza che si trovano dalla seconda alla quinta colonna di A al MATLAB 8

Vettori Gestione sessione Scalari Array Relazioni e operatori logici Esempio 1 Comando v = [1;2;3] w = [4,5,6] vt = v zeros(n,1) Descrizione vettore colonna vettore riga vettore trasposto di v vettore colonna nulla ones(n,1) vettore colonna con tutte le componenti pari a 1 dot(v,w) cross(v,w) norm(v) prodotto scalare v w prodotto vettoriale v w norma euclidea v : genera un vettore di elementi regolarmente intervallati linspace(a,b,n) logspace(a,b,n) crea vettore di n valori linearmente intervallati tra a e b crea vettore di n valori logaritmicamente intervallati tra a e b cat(n,a,b,c,...) Crea un nuovo vettore concatenando gli array A,B,C Calcola il numero degli elementi di v length(v) quiver(v) visualizzazione vettore in R 2 quiver3(v) visualizzazione vettore in R 3 al MATLAB 9

Operazioni con array Gestione sessione Scalari Array Relazioni e operatori logici Esempio 1 Simbolo Operazione Forma Esempio + Somma array - scalare A + b [6,3]+2 = [8,5] - Sottrazione array - scalare A - b [6,3]-5 = [1,-2] - Somma di array A + B [6,3]+[4,5] = [10,8] - Sottrazione di array A - B [6,3]-[4,5] = [2,-2].* Moltiplicazione di array A.*B [3,5].*[4,8] = [12,40]./ Divisione diretta di array A./B [2,5]./[4,8] = [2/4,5/8].\ Divisione inversa di array A.\B [2,5].\[4,8] = [2\4,5\8].^ Elevazione a potenza di array A.^B [3,5]ˆ2 = [3.ˆ2,5.ˆ2] 2.ˆ[3,5] = [2.ˆ3,2.ˆ5] [3,5].ˆ[2,4] = [3.ˆ2,5.ˆ4] * Prodotto tra matrici A*B [3,5]*[4,8] = [36,60] al MATLAB 10

utili per array Gestione sessione Scalari Array Relazioni e operatori logici Esempio 1 Comando Descrizione A = [] inizializzazione matrice vuota find(x) Genera un array che contiene gli indici degli elementi non nulli dell array x [u,v,w] = find(a) Crea gli array u e v che contengono gli indici delle righe e delle colonne degli elementi non nulli di A e l array w che contiene i valori degli elementi non nulli eye(m,n) genera una matrice rettangolare i cui elementi sono tutti nulli ad eccezione di quelli della diagonale principale che sono pari a 1 length(a) Calcola il valore massimo di m se n, se A è una matrice m n size(a) Restituisce un vettore riga [m,n] che contiene le dimensioni della matrice m n A sum(a) sort(a) Somma gli elementi di ognicolonna di A e restituisce un vettore riga che contiene le somme risultanti Dispone le colonne di A in ordine crescente e restituisce un array della stessa dimensione di A al MATLAB 11

Relazioni e operatori logici In MATLAB le relazioni vengono identificate nel modo seguente: Gestione sessione Scalari Array Relazioni e operatori logici Esempio 1 Operatore Descrizione < strettamente minore minore o uguale > strettamente maggiore maggiore o uguale == uguale ~= non uguale In MATLAB gli operatori logici sono i seguenti: Operatore logico & e o ~ non Descrizione al MATLAB 12

Relazioni e operatori logici In MATLAB le relazioni vengono identificate nel modo seguente: Gestione sessione Scalari Array Relazioni e operatori logici Esempio 1 Operatore Descrizione < strettamente minore minore o uguale > strettamente maggiore maggiore o uguale == uguale ~= non uguale In MATLAB gli operatori logici sono i seguenti: Operatore logico & e o ~ non Descrizione al MATLAB 12

Esempio: Algebra Lineare Gestione sessione Scalari Array Relazioni e operatori logici Esempio 1 Calcolare la norma del vettore v = [1,2,3] e visualizzarlo graficamente Creare la matrice A [4 2] le cui colonne sono i vettori w = [4;5;6;10] e u = [6;7;8;9] Determinare la matrice B ottenuta dalla matrice A sopprimendo la riga 4 Determinare la matrice C ottenuta dalla matrice B e dalla colonna v Fare il prodotto della matrice C per il vettore v e memorizzarlo nell array d Calcolare il determinante della matrice G e la sua inversa Gi G = 1 2 3 5 5 6 7 8 9 Creare la matrice identita di dimensione 4 al MATLAB 13

In MATLAB esistono moltissime funzioni intrinseche, ad esempiosin, cos, log, log10, exp, abs, asin, acos, tan, atan... Per conoscere l elenco completo delle funzioni matematiche elementari presenti, si digiti help matlab/elfun funzioni in linea: consente di convertire una stringa di caratteri in funzione f = inline( x.*cos(x)-2.*log(x) ) per creare un grafico della funzione in linea in un intervallo prescelto dall utente, si può utilizzare l istruzione ezplot(f,[0,4]) al MATLAB 14

In MATLAB esistono moltissime funzioni intrinseche, ad esempiosin, cos, log, log10, exp, abs, asin, acos, tan, atan... Per conoscere l elenco completo delle funzioni matematiche elementari presenti, si digiti help matlab/elfun funzioni in linea: consente di convertire una stringa di caratteri in funzione f = inline( x.*cos(x)-2.*log(x) ) per creare un grafico della funzione in linea in un intervallo prescelto dall utente, si può utilizzare l istruzione ezplot(f,[0,4]) al MATLAB 14

In MATLAB esistono moltissime funzioni intrinseche, ad esempiosin, cos, log, log10, exp, abs, asin, acos, tan, atan... Per conoscere l elenco completo delle funzioni matematiche elementari presenti, si digiti help matlab/elfun funzioni in linea: consente di convertire una stringa di caratteri in funzione f = inline( x.*cos(x)-2.*log(x) ) per creare un grafico della funzione in linea in un intervallo prescelto dall utente, si può utilizzare l istruzione ezplot(f,[0,4]) al MATLAB 14

In MATLAB esistono moltissime funzioni intrinseche, ad esempiosin, cos, log, log10, exp, abs, asin, acos, tan, atan... Per conoscere l elenco completo delle funzioni matematiche elementari presenti, si digiti help matlab/elfun funzioni in linea: consente di convertire una stringa di caratteri in funzione f = inline( x.*cos(x)-2.*log(x) ) per creare un grafico della funzione in linea in un intervallo prescelto dall utente, si può utilizzare l istruzione ezplot(f,[0,4]) al MATLAB 14

In MATLAB è possibile definire dellefunction che possono dipendere da una o più variabili di input e da una o più di output la function dovrà essere salvata con lo stesso nome con il quale sarà eseguito nella Command Window, ma con estensione.m Esempio: function y = funprova(x) %Esempio function y = x.*cos(x)-2.*log(x); al MATLAB 15

For While If - Else - End il ciclofor il ciclowhile la costruzioneif - else - then al MATLAB 16

Ciclo For For Lo schema è: for k = array end {comandi} While If - Else - End Esempio: Prodotto matrice vettore al MATLAB 17

Ciclo For For Lo schema è: for k = array end {comandi} While If - Else - End Esempio: Prodotto matrice vettore FORTRAN DO ii = 1,M DO kk = 1,P ENDDO ENDDO c(ii) = c(ii) + A(ii,kk) b(kk) al MATLAB 17

Ciclo For For Lo schema è: for k = array end {comandi} While If - Else - End Esempio: Prodotto matrice vettore FORTRAN DO ii = 1,M DO kk = 1,P ENDDO ENDDO c(ii) = c(ii) + A(ii,kk) b(kk) al MATLAB 17

Ciclo For For Lo schema è: for k = array end {comandi} While If - Else - End Esempio: Prodotto matrice vettore MATLAB FOR ii = 1:M FOR kk = 1:P END END c(ii) = c(ii) + A(ii,kk) b(kk) al MATLAB 17

Ciclo For For Lo schema è: for k = array end {comandi} While If - Else - End Esempio: Prodotto matrice vettore MATLAB c = A*b al MATLAB 17

Ciclo While Lo schema è: For While If - Else - End while {espressione logica} end {comandi} al MATLAB 18

Costrutto If - Else -End Lo schema è: For While if {espressione logica} {comandi} end If - Else - End al MATLAB 19

Costrutto If - Else -End Lo schema è: For While If - Else - End if {espressione logica1} {comandi} %eseguiti se l espressione logica1 è vera else {comandi} %eseguiti se l espressione logica1 è falsa end al MATLAB 19

Costrutto If - Else -End Lo schema è: For While If - Else - End if {espressione logica1} {comandi} %eseguiti se l espressione logica1 è vera elseif {espressione logica2} {comandi} %eseguiti se l espressione logica2 è vera elseif..... else {comandi} %eseguiti se tutte le espressioni logiche sono false end al MATLAB 19

Caratteristiche essenziali per rappresentare correttamente i dati in un diagramma: speciali Ogni asse deve avere un titolo (label) con il nome della quantità che rappresenta e della sua unità di misura Ogni asse dovrebbe avere dei segni di graduazione regolarmente distanziati, con una distanza facile da interpretare e interpolare Se il diagramma rappresenta più di un set di dati, assegnare un etichetta ad ogni curva o utilizzare una legenda Rappresentare i dati sperimentali con simboli (ad es. cerchio), se sono molti usare il punto (dot, non collegarli mediante linee) Non utilizzare simboli per rappresentare i dati generati dalle funzioni, piuttosto collegare i punti con linee continue Il diagramma più usato è quello bidimensionale o xy. Viene utilizzato per rappresentare funzioni del tipo y = f(x) al MATLAB 20

Caratteristiche essenziali per rappresentare correttamente i dati in un diagramma: speciali Ogni asse deve avere un titolo (label) con il nome della quantità che rappresenta e della sua unità di misura Ogni asse dovrebbe avere dei segni di graduazione regolarmente distanziati, con una distanza facile da interpretare e interpolare Se il diagramma rappresenta più di un set di dati, assegnare un etichetta ad ogni curva o utilizzare una legenda Rappresentare i dati sperimentali con simboli (ad es. cerchio), se sono molti usare il punto (dot, non collegarli mediante linee) Non utilizzare simboli per rappresentare i dati generati dalle funzioni, piuttosto collegare i punti con linee continue Il diagramma più usato è quello bidimensionale o xy. Viene utilizzato per rappresentare funzioni del tipo y = f(x) al MATLAB 20

Caratteristiche essenziali per rappresentare correttamente i dati in un diagramma: speciali Ogni asse deve avere un titolo (label) con il nome della quantità che rappresenta e della sua unità di misura Ogni asse dovrebbe avere dei segni di graduazione regolarmente distanziati, con una distanza facile da interpretare e interpolare Se il diagramma rappresenta più di un set di dati, assegnare un etichetta ad ogni curva o utilizzare una legenda Rappresentare i dati sperimentali con simboli (ad es. cerchio), se sono molti usare il punto (dot, non collegarli mediante linee) Non utilizzare simboli per rappresentare i dati generati dalle funzioni, piuttosto collegare i punti con linee continue Il diagramma più usato è quello bidimensionale o xy. Viene utilizzato per rappresentare funzioni del tipo y = f(x) al MATLAB 20

xy speciali Comando Descrizione axis[xmin xmax ymin ymax] fplot( stringa,[xmin xmax]) Crea un diagramma intelligente di una funzione grid plot(x,y) plot(y) print title( testo ) xlabel( testo ) ylabel( testo ) Imposta i minimi e i massimi degli assi x e y Visualizza le linee di una griglia in corrispondenza delle etichette dei segni di graduazione degli assi di un diagramma Crea il diagramma dell array y in funzione dell array x su assi lineari Crea il diagramma dei valori di y in funzione dei loro indici, se y è reale Stampa il diagamma che si trova nella finestra grafica Crea il titolo del diagramma Crea l etichetta dell asse x del diagramma Crea l etichetta dell asse y del diagramma al MATLAB 21

per migliorare i diagrammi speciali Comando Descrizione axes Crea degli assi arbitrari hold Sospende la creazione del diagramma corrente in attesa di altri comandi grafici legend( leg1, leg2 ) Crea un legenda utilizzando le stringhe leg1 e leg2 plot(x,y,u,v) Crea il diagramma di quattro array: y in funzione di x, e v in funzione di u plot(x,y, tipo ) Crea il diagramma dell array y in funzione dell array x utilizzando il simbolo, linea e colore specificato subplot(m,n,p) hold dalla stringa tipo Suddivide la finestra grafica in una serie di pannelli rettangolari disposti su m righe e n colonne e visualizza il diagramma successivo nel p-esimo pannello Sospende la creazione del diagramma corrente in attesa di altri comandi grafici al MATLAB 22

Esempi di xy (1) x = [0:0,1:1]; y = tan(x); z = sec(x); plot(x,y, r--,x,z, * ),... xlabel( x ),ylabel( Tangente e secante )... legend( tan(x), sec(x) ) speciali Tangente e secante 2 1.5 1 0.5 tan(x) sec(x) 0 0 0.2 0.4 0.6 0.8 1 x Per i dettagli in merito a marcatori, tipi di linea, colori di MATLAB, digitare markers nell help al MATLAB 23

Esempi di xy (1) x = [0:0,1:1]; y = tan(x); z = sec(x); plot(x,y, r--,x,z, * ),... xlabel( x ),ylabel( Tangente e secante )... legend( tan(x), sec(x) ) speciali Tangente e secante 2 1.5 1 0.5 tan(x) sec(x) 0 0 0.2 0.4 0.6 0.8 1 x Per i dettagli in merito a marcatori, tipi di linea, colori di MATLAB, digitare markers nell help al MATLAB 23

Esempi di xy (2) speciali x = [0:0,1:1]; y = tan(x); z = sec(x); subplot(1,2,1) plot(x,y, r-- ),... xlabel( x ),ylabel( Tangente )... legend( tan(x) ) subplot(1,2,2) plot(x,z, * ),... xlabel( x ),ylabel( Secante )... legend( sec(x) ) 1.6 1.4 1.2 tan(x) 2 1.8 sec(x) Tangente 1 0.8 0.6 Secante 1.6 1.4 0.4 0.2 1.2 0 0 0.5 1 x 1 0 0.5 1 x al MATLAB 24

Esempi di xy (2) speciali x = [0:0,1:1]; y = tan(x); z = sec(x); subplot(1,2,1) plot(x,y, r-- ),... xlabel( x ),ylabel( Tangente )... legend( tan(x) ) subplot(1,2,2) plot(x,z, * ),... xlabel( x ),ylabel( Secante )... legend( sec(x) ) 1.6 1.4 1.2 tan(x) 2 1.8 sec(x) Tangente 1 0.8 0.6 Secante 1.6 1.4 0.4 0.2 1.2 0 0 0.5 1 x 1 0 0.5 1 x al MATLAB 24

speciali speciali Comando Descrizione bar(x,y) Crea un diagramma a barre di y in funzione di x loglog(x,y) Crea un diagramma logaritmico di y in funzione di x plotyy(x1,y1,x2,y2) Crea un diagramma con due assi y: y1 a sinistra e y2 a destra semilogx(x,y) Crea un diagramma semilogaritmico di y in funzione semilogy(x,y) di x, con l asse x in scala logaritmica Crea un diagramma semilogaritmico di y in funzione di x, con l asse y in scala logaritmica al MATLAB 25

In MATLAB è possibile scrivere dei programmi veri e propri in cui poter dare dei dati in input e ottenere dei risultati, scrivendo tutto l algoritmo in un file il file sarà salvato con lo stesso nome con il quale sarà eseguito nella Command Window, ma con estensione.m Esempio: scrivo un programma denominatoesempio.m eseguo il programma dalla Command Window scrivendo il comando esempio Attenzione: il programma deve trovarsi nella stessa directory nella quale stiamo lavorando. al MATLAB 26

Dati gli array di dati sperimentali di dimensione N+1: x = [720;750;800;520;1000;180] y = [0.0020;0.0045;0.0060;0.0013;0.0085;0.0050] calcolare i coefficienti di un polinomio P(x) di grado N che interpola i dati in modo che P(x(i)) y(i) calcolare il valore assunto dal polinomio interpolatore nel punto x = 735 Costruire la retta di approssimazione ottenuta minimizzando l errore relativo agli scarti verticali calcolare il valore assunto dalla retta nel punto x = 735 Disegnare nello stesso grafico: i punti sperimentali il polinomio interpolatore di grado N la retta di approssimazione ottenuta minimizzando l errore relativo agli scarti verticali Suggerimento: si consulti l help di MATLAB e si cerchino le funzioni polyval e polyfit. al MATLAB 27

0.12 0.1 0.08 dati sperimentali polinomio 5 grado retta 0.06 0.04 0.02 0 0.02 0 200 400 600 800 1000 al MATLAB 28

: W. J.Palm III, MATLAB 7 per l ingegneria e le scienze McGraw-Hill G. Zilli, A. Mazzia Calcolo Numerico. Lezioni ed esercizi. (2009) Edizioni Libreria Progetto. Siti web: www.mathworks.it www.gnu.org/software/octave/ al MATLAB 29

: W. J.Palm III, MATLAB 7 per l ingegneria e le scienze McGraw-Hill G. Zilli, A. Mazzia Calcolo Numerico. Lezioni ed esercizi. (2009) Edizioni Libreria Progetto. Siti web: www.mathworks.it www.gnu.org/software/octave/ al MATLAB 29