Matlab. Il linguaggio Matlab Laboratorio Matematico Informatico A.A. 2017/2018. Giuseppina Settanni

Documenti analoghi
Laboratorio di Matlab

Introduzione. Corso di Metodi Numerici. 06 Marzo 2019

CORSO DI LABORATORIO DI INFORMATICA

Introduzione a Matlab

Introduzione al MATLAB c Parte 2

INTRODUZIONE A MATLAB

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

Algoritmi stabili e instabili

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

Uso avanzato di MATLAB

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

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

Introduzione a MATLAB

Esercitazione 00 Introduzione a Matlab

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

Informatica Applicata al Suono Tutorial Matlab

8 Introduzione MATLAB

Introduzione a MATLAB

MATLAB Elementi di grafica Costrutti di programmazione

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

Strutture di controllo condizionali in Matlab

2 a lezione - laboratorio

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

Introduzione al MATLAB c Parte 1 Variabili ed array

8 Introduzione MATLAB

Introduzione al MATLAB c Parte 1 Variabili ed array

19 FEBBRAIO 2009 PRIMA PARTE

Fondamenti di Informatica A. A / 1 9

Foglio di esercizi n.1

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

Introduzione a MATLAB

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

Introduzione. MATLAB è l acronimo di MATrix LABoratory

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

Variabile, costante ed espressione

Introduzione a Matlab

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

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

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

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

Introduzione a Matlab

Matlab: Variabili e Array. Informatica B

Laboratorio di Calcolo Numerico Laboratorio 8: Vettori e Matrici

Elementi di Calcolo Scientifico per l Ingegneria A.A

Laboratorio di Matematica Computazionale A.A Lab. 3

LABORATORIO /03/2005

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

Matlab. Cristina Falcinelli, PhD

Introduzione a MATLAB

Diagrammi di flusso (Flow Chart)

Ciclo di seminari: Metodi Computazionali per la Finanza

Introduzione a Matlab. Renato Mainetti

Matlab : le basi. Vediamo ora un esercizio di calcolo: Il volume di una sfera è dato da V=4*π*r 3 /3 dove r è il raggio.

Introduzione a Matlab

Qualsiasi programma in C++ segue lo schema: Variabili

Calcolo Numerico I - A.A Laboratorio 3

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

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

Introduzione all ambiente MATLAB. Richiami II. Analisi Numerica - A.A. 2007/08

Introduzione all ambiente MATLAB. Richiami II. Calcolo Numerico - A.A. 2008/09

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

Primi script in MATLAB

1. Calcolo dell indice di condizionamento di una matrice

Università degli Studi di Ferrara

Fondamenti di Informatica e Programmazione

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

Programmare con MATLAB c Parte 5 Cicli: for e while

FONDAMENTI DI INFORMATICA

Fondamenti di Informatica

Breve introduzione a MATLAB

Matlab 5. Funzioni. Slide basate sul corso di C. Blundo. A.A. 2010/ GPersiano. Laboratorio di Informatica per Fisici 1

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

UTILIZZO DI MATLAB OPERAZIONI FONDAMENTALI

Introduzione a MATLAB

MATLAB I/O. Informatica B - A.A. 2012/2013 ACQUISIZIONE DI INPUT DA TASTIERA

Programmazione Procedurale in Linguaggio C++

#include <iostream> // libreria che gestisce flusso di input e output. using namespace std; // uso di librerie standard del C++

Dati due punti sul piano calcolare la loro distanza

Metodi numerici con elementi di Programmazione A.A

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

Javascript: il browser

Introduzione al MATLAB c Parte 3 Script e function

x t = M t a.

Javascript: il browser

PON Liceo Scientifico Leonardo da Vinci. Vallo della Lucania

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

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale

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

Calcolo Numerico A.A Lab n

Transcript:

Il linguaggio Laboratorio Matematico Informatico A.A. 2017/2018 Giuseppina Settanni Dipartimento di Matematica Università degli Studi di Bari Aldo Moro 1 / 41

Indice 1 2 3 4 2 / 41

MATLAB MATLAB non e un semplice linguaggio di programmazione, ma un ambiente interattivo che integra in modo efficiente il calcolo, la visualizzazione e la programmazione. consente di gestire variabili, importare ed esportare dati, svolgere calcoli, disegnare grafici, programmare istruzioni e sviluppare applicazioni (tra cui la costruzione grafica dell interfaccia utente). MATLAB deriva da MATrix LABoratory ed è stato sviluppato per applicazioni basate su matrici e algebra lineare, nellambito dellanalisi numerica. è uno strumento versatile ed efficiente per lelaborazione dei dati e lo sviluppo di modelli, infatti permette di trattare grandi insiemi di dati come singole variabili chiamate array e di effettuare calcoli complessi tramite poche righe di codice. Per esempio, e possibile risolvere un sistema di equazioni lineari con sole tre righe di codice. 3 / 41

MATLAB MATLAB prevede moduli aggiuntivi denominati Toolbox, ovvero collezioni complete di funzioni MATLAB sviluppati per svolgere compiti specializzati. La lista completa dei Toolbox attualmente disponibili e consultabile nel sito: http://www.mathworks.it/products/products_by_ category.shtml L interfaccia principale di MATLAB composta da diverse finestre che possibile affiancare, spostare, ridurre a icona, ridimensionare e cos via. Le finestre principali sono quattro: Command Window: finestra dei comandi che permette di dialogare con il programma, digitando i comandi, le funzioni e le istruzioni che devono essere eseguite. Workspace: lo spazio di lavoro contenente le variabili dichiarate. Current directory: per esplorare il contenuto delle cartelle. Command history: cronologia dei comandi. 4 / 41

OPERAZIONI DI BASE Lutente può digitare i comandi allinterno di uninterfaccia denominata Command Window. Gli elementi principali per la costruzione delle espressioni sono: i numeri; le variabili; gli operatori elementari; le funzioni. 5 / 41

I NUMERI MATLAB usa la notazione decimale convenzionale, con un punto per separare la parte intera da quella decimale, ad esempio: 2, 1.23,324.758 Notazione scientifica o esponenziale: es. 3 10 8 e 2.34 10 12 digito >> 3e8 >> 2.34e-12 rappresenta i numeri reali in base 2 utilizzando la doppia precisione. Ciascun numero è memorizzato in un campo da 64 bit. Questo corrisponde nella visualizzazione in base 10 ad avere circa 16 cifre significative. Ad es. se digito >> 3.7654346700324867543 ans = 3.765434670032487. 6 / 41

I NUMERI format short: 4 cifre decimali ans= 3.7654 format long: 16 cifre decimali ans = 3.765434670032487 format short e: 4 cifre decimali più lesponente ans = 3.7654e+00 format long e: 15 cifre decimali più lesponente ans= 3.765434670032487e+00 7 / 41

VARIABILI E ASSEGNAZIONI L assegnazione è un operazione utilizzata in informatica per inserire un valore in una variabile. nonnecessita di una dichiarazione esplicita del tipo di variabile, come in Fortran o C. Un istruzione di assegnazione: >> a=12.876 si assegna alla variabile a il valore scalare 12.876, che da questo punto in poi, sarà disponibile nel command window per un successivo utilizzo, come ad esempio: >> b=a-5 è case sensitive: c è differenza tra variabili scritte in maiuscolo e quelle scritte in minuscolo. Ad esempio: >>A=0.45 A= 0.45 >> A+a ans = 13.3260 8 / 41

VARIABILI E ASSEGNAZIONI Per definire un numero complesso: >> c=1+8*i Le variabili sono sovrascrivibili, quindi se digitiamo ora >>A=3.78 il precedente valore 0.45 viene definitivamente perso. Per resett are, cancellare, il contenuto di una variabile si utilizza il comando: clear nomevariabile >> clear a c Per cancellare il contenuto dii tutte le variabile definite nel workspace si utilizza il comando: clear o clear all senza specificare il nome della variabile. per ripulire la videata del workspace si utilizza clc Alla fine di ogni dichiarazione in si utilizza ; per non visualizzare l assegnazione sul video. E possibile effettuare più assegnazioni sulla stessa riga separata da un ; >>p=5; h=0.1; t=1; 9 / 41

VARIABILI E ASSEGNAZIONI una variabile può essere combinazione di caratteri alfanumerici la cui lunghezza massima non superi 63 caratteri. Il nome di una variabile non può iniziare con un numero; inoltre vi sono alcuni caratteri non ammessi, poichè hanno diverso significato (, +, /, =, ecc.). se si esegue un operazione senza assegnare il risultato ad una variabile, assegna, per default il risultato alla variabile ans (diminutivo di answer). 10 / 41

VARIABILI E ASSEGNAZIONI Le variabili definite allinterno del command window, risiedono in una zona di memoria chiamata workspace. Per visualizzare il contenuto di una variabile, si digita la variabile e si preme invio o, alternativamente, mediante disp nomevariabile. who: elenca le variabili contenute nel workspace. whos: elenca e fornisce informazioni sulle variabili contenute nel workspace. save nomefile salva le variabili presenti nel workspace nel file nomefile. load carica allinterno del workspace le variabili precedentemente salvate nel file nomefile. 11 / 41

VARIABILI E ASSEGNAZIONI In MATLAB ci sono delle variabili il cui valore predefinito e non modificabile i, j: unità immaginaria in un numero complesso. pi: approssimazione di pigreco. eps: precisione di macchina del computer che si sta utilizzando. realmax: il massimo numero reale positivo rappresentabile realmin: inf: il minimo numero reale positivo rappresentabile un numero maggiore di realmax o infinito. NaN: Not a number, indica il risultato di una forma matematica indeterminata. version: restituisce la versione di MATLAB utilizzata. computer: restituisce il tipo di computer utilizzato. Esempio: PCWIN, MACI64 12 / 41

In MATLAB gli operatori logici utilizzati sono: OPERATORI LOGICI NOT: A restituisce un array avente le stesse dimensioni di A, i cui elementi sono pari a 1 se quelli di A sono nulli; pari a 0, altrimenti. & AND: A&B restituisce un array delle stesse dimensioni di A e B, i cui elementi sono pari a 1 se i corrispondenti elementi di A e B sono ENTRAMBI diversi da 0; pari a 0 se almeno uno tra i due elementi di A e B e uguale a 0. OR: A B restituisce un array delle stesse dimensioni di A e B, i cui elementi sono pari a 1 se almeno uno tra i due elementi corrispondenti di A e B e diverso da 0; pari a 0 se sono ENTRAMBI uguali a 0. true: array che assume valore 1. false: arry che assume valore 0. 13 / 41

OPERATORI RELAZIONALI Gli operatori relazionali permettono di confrontare variabili e array e in MATLAB sono: < minore <= minore uguale > maggiore >= maggiore uguale == uguale = diverso 14 / 41

OPERATORI MATEMATICI Gli operatori matematici MATLAB sono: + somma sottrazione moltiplicazione / divisione a destra \ divisione a sinistra elevamento a potenza. moltiplicazione elemento per elemento./ divisione a destra elemento per elemento.\ divisione a sinistra elemento per elemento. elevamento a potenza elemento per elemento 15 / 41

FUNZIONI ELEMENTARI sqrt(x): x exp(x) esponenziale e x x y: x y log(x): ln(x) log10(x): lg 10 (x) log2(x): lg 2 (x) sin(x): seno cos(x): coseno tan(x): tangente asin(x): arcoseno acos(x): arcocoseno atan(x) arcotangente 16 / 41

FUNZIONI abs(x): x imag(x) Im(x) real(x): Re(x) sign(x): segno(x) rem(x/y): resto divisione round(x): arrotondamento di x floor(x): arrotondamento verso l intero più piccolo ceil(x): arrotondamento verso l intero più grande fix(x): parte intera di x 17 / 41

VETTORI I vettori possono essere definiti come vettori riga I vettori possono essere definiti come vettori riga >> v = [1 4 5 6 7] v = 1 4 5 6 7 opure come vettori colonna >> v = [1; 4; 5; 6; 7] v = 1 4 5 6 7 18 / 41

VETTORI I vettori possono essere definiti come vettori riga >> v = 1 : 5 o >> v = [1 : 5] restituisce v = 1 2 3 4 5 >> v = [ind1 : incr : ind2] restituisce il vettore di elementi ind1, ind1 + incr, ind1 + 2incr,..., ind2, che parte da ind1 e arriva fino a ind2 con incremento incr. >> v = [1 : 2 : 8] o >> v = 1 : 2 : 8 v = 1 3 5 7 >> v(2 : 4) ans = 3 5 7 linspace(a,b,n): genera il vettore di n elementi equidistanti compresi nell intervallo [a,b]; logspace(a,b,n): genera il vettore di n elementi disposti logaritmicamente compresi nell intervallo [a,b]; 19 / 41

MATRICI Per creare una matrice si racchiudendo gli elementi della matrice tra patentesi quadre, separando gli elementi di una stessa riga con una virgola o con uno spazio e le righe con un punto e virgola. >> A = [1 2 3; 4 5 6; 7 8 9] A = 1 2 3 4 5 6 7 8 9 A(2:3,1:2) seleziona la sottomatrice di A corrispondente alle righe dalla 2 alla 3 ed alle colonne dalla 1 alla 2. Lo stesso risultato lo si ottiene digitando A([2 3],[1 2]); 20 / 41

zeros(m,n): matrice di zeri di dimensione m n ones(m,n): matrice di uno di dimensione m n eye(n): matrice identica di dimensione n MATRICI randt(n): genera matrici o vettori di elementi distribuiti in modo random secondo una distribuzione uniforme. randn(m,n): genera matrici o vettori di elementi distribuiti in modo random secondo una distribuzione gaussiana o normale. A : trasporta di una matrice A diag(x): genera la matrice diagonale quadrata di dimensione quella del vettore x, i cui elementi diagonali sono quelli del vettore x. size(a): restituisce un vettore riga di due elementi, che ha come prima componente il numero di righe della matrice A, e come seconda il numero di colonne della matrice A. 21 / 41

FUNZIONI DI VETTORE Per creare una matrice si racchiudendo gli elementi della matrice tra patentesi quadre, separando gli elementi di una stessa riga con una virgola o con uno spazio e le righe con un punto e virgola. max(x): massimo di un vettore min(x): min di un vettore sum(x): somma degli elementi di un vettore sort(x) ordinamento di un vettore length(x): lunghezza del vettore x norm(x): norma 2 del vettore x 22 / 41

FUNZIONI LOGICHE Le funzioni logiche in MATLAB sono: any(x): restituisce 1 se ALMENO un elemento di x e diverso da 0; altrimenti restituisce 0. any(a): nel caso si A una matrice agisce per colonna. all(x): restituisce 1 se TUTTI degli elementi di x sono diversi da 0; altrimenti restituisce 0. all(a): nel caso si A una matrice agisce per colonna. find(x) restituisce un vettore con gli indici degli elementi non nulli di x. [i, j, w] = find(a): i contiene gli indici di riga degli elementi non nulli di A, j gli indici di colonna e w il valore degli elementi non nulli. xor(a, B): restituisce un array delle stesse dimensioni di A e B, i cui elementi sono pari a 1 se SOLTANTO uno dei corrispondenti elementi di A e B e diverso da 0; pari a 0 in tutti gli altri casi. 23 / 41

ELEMENTI DI PROGRAMMAZIONE STRUTTURATA MATLAB mette a disposizione un linguaggio di programmazione di semplice utilizzo che dispone delle tre strutture fondamentali: sequenza selezione iterazione La sequenza non è altro che un blocco ordinato di istruzioni che verranno eseguite una dopo l altra in successione. 24 / 41

File script File script: contiene le istruzioni e viene eseguito digitando il nome del file. Il risultato è identico a quello di eseguire nell ambiente matlab (sul prompt) una istruzione alla volta. Il compilatore effettua preventivamente un controllo sul file script per evidenziare eventuali errori di sintassi. Per non visualizzare il risultato di una assegnazione bisogna mettere un ; alla fine dell istruzione Per visualizzare il valore di una variabile si utilizza l istruzione disp Il simbolo % permette di inserire commenti nei file. Tutto quello che segue sulla stessa riga non viene elaborato. L istruzione clear cancella tutte le variabili in memoria In un programma l istruzione input assegnar un valore ad una variabile durante l esecuzione 25 / 41

Calcolo del perimetro e dell area di un rettangolo Un programma non dovrebbe far riferimento a variabili già definite e deve essere il più possibile generale. clear % cancella il contenuto della memoria a = input( inserisci il primo lato ); b = input( inserisci il secondo lato ); perim = 2*(a+b); area = a*b; disp( il perimetro del rettangolo e ) % tre apici per inserirne uno alla fine di una stringa disp(perim) disp( l area del rettangolo e ) % due apici per inserirne uno all interno della stringa disp(area) 26 / 41

La selezione if if espr logica istruzioni - se espr logica è vera elseif espr logica 2 istruzioni - se la precedente è falsa e espr logica 2 è vera. else istruzioni - se le precedenti sono false end 27 / 41

Calcolo delle radici reali di una equazione di secondo grado Calcoliamo prima il delta in modo da fornire prima informazioni sul numero di radici reali distinte delta = b^2-4*a*c; if delta<0 disp( non esistono soluzioni reali ) elseif delta==0 disp( soluzioni coincidenti ) x = -b/(2*a); else x = [(-b-sqrt(delta))/(2*a), (-b+sqrt(delta))/(2*a)]; end disp(x) 28 / 41

Ripetizione ciclo for for ind = ind1:step:ind2 istruzioni - ind2-ind1+1 volte end Esegue le istruzioni tante volte fino a raggiungere ind2 ind è il nome di una variabile che ad ogni passo viene incrementato di uno step. Esempio: visualizzare le potenze (fino alla quarta) dei primi 100 numeri interi for i=1:100 disp([i i^2 i^3 i^4]) end 29 / 41

Calcolo di una sommatoria Sebbene il calcolo della somma degli elementi di un vettore sia possibile con la funzione sum, è fondamentale conoscere l algoritmo che lo calcola: s = 0; % inizializzazione for i = 1:length(x) s = s+x(i); % aggiornamento end Algoritmi che derivano da questo: Prodotto degli elementi di un vettore Data una matrice A di dimensioni m n, calcolare il vettore x tale che x k = a i,j (somma delle diagonali) i+j=k+1 30 / 41

Il ciclo condizionato while while espr logica istruzioni - finché espr logica è vera end Esegue l istruzione nel ciclo fino a quando espr logica ha valore vero È necessario garantirsi l uscita dal ciclo (magari con un contatore ed un numero max di iterazioni) Esempio: trovare il primo elemento negativo di un vettore i = 1; while i<=length(x) && x(i)>=0 i = i+1; end disp(i) 31 / 41

Calcolo della radice quadrata In matlab la radice quadrata potrebbe essere calcolata mediante l operatore ^ di elevamento a potenza, tuttavia il miglior algoritmo è quello all interno della funzione sqrt(). Il seguente calcola la radice quadrata di un numero a mediante un procedimento iterativo che utilizza somme, moltiplicazioni e divisioni. L idea è di considerare una successione di rettangoli di area a che converge ad un quadrato. Se x i è un lato dell i-esimo rettangolo, allora la successione (il nuovo lato è la media dei lati del precedente rettangolo) ) (x i + axi x i+1 = 1 2 converge al lato a del quadrato. 32 / 41

Calcolo della radice quadrata a = input( Calcolo la radice quadrata di ); tol = input( iserisci il valore della tolleranza ); x = 1; while abs(x-a/x)>tol x =.5*(x+a/x); end disp(x) %%oppure per visualizzare utilizzo sprintf( La radice di %6.2f risulta %6.4f, a,x) 33 / 41

La selezione switch switch espr case valore 1 istruzioni - se espr=valore 1 case valore 2 istruzioni - se espr=valore 2. otherwise istruzioni - se espr è diverso dai valori considerati end Sceglie tra diversi casi a seconda del valore di espr otherwise è opzionale. Se non c è e espr è diverso dai valori nei case, non si esegue nessuna istruzione 34 / 41

File di tipo function - definizione Un file function richiede di specificare i dati di input e di output. La prima riga di un file function deve essere function [ var outp ] = nome funct( var inpt ) dove var_outp contiene una o più variabili in output mentre var_inpt contiene una o più variabili in input. Le parentesi quadre sono opzionali se c è una sola variabile di output. nome_func dovrebbe coincidere con il nome del file (.m). In ogni caso il nome della function è quello del file. 35 / 41

File di tipo function - uso Una funzione si richiama come le funzioni matlab predefinite [ varb ] = nome_funct( val ) All interno della function i valori in val vengono assegnati in ordine alle variabili in input, mentre in uscita dalla funzione i valori delle variabili in output vengono assegnati in ordine alle variabili in varb Se val contiene meno valori di quelli richiesti dalla function, alcune variabili in input non saranno inizializzate Se varb contiene meno variabili di quelle indicate nella function, alcuni risultati non saranno portati in output Le funzioni nargin e nargout, usate dentro la function, indicano rispettivamente il numero di valori in input e variabili in output 36 / 41

Variabili locali e globali Tutte le variabili definite nella function sono locali e si perdono dopo l esecuzione della function stessa. Analogamente le variabili definite fuori dalla function non esistono dentro la function. Gli unici contatti tra l area di memoria di una function e l esterno avvengono tramite i valori in input e output. Se vogliamo variabili definite dentro e fuori la function dobbiamo definirle tramite global L istruzione keyboard blocca temporaneamente l esecuzione di una funzione permettendo di eseguire altre operazioni. Si continua l esecuzione con il comando return 37 / 41

Funzioni in linea Un modo immediato di definire funzioni semplici è quello di scrivere istruzioni in linea del tipo nome funct = @( var inpt ) espr nome funct = inline( espr ) dove espr è un espressione che contiene le variabili in input. Una volta definita, la funzione si utilizza scrivendo nome_funct(val), dove i valori vengono ordinatamente associati alle variabili in input Esempi: f = @(x,y)x^2-3*x+y^3; gt = @(x) sin(x)*x^2; g=inline( x^2 ); e si richiamano scrivendo, ad esempio, f(5,-2) o gt(pi) o g(1) 38 / 41

Funzioni in linea Le variabili in input potrebbero essere matriciali, nel qual caso è necessario prevedere operazioni opportune A = @(x,y) diag(x).*y; richiede, ad esempio, x vettore ed y matrice oppure x matrice e y vettore colonna Se nella function ci sono parametri, questi devono essere definiti prima delle funzioni y0 = 10; lambda = -5; y = @(t) y0*exp(lambda*t); Se cambiamo valore ai parametri, è necessario richiamare la definizione della funzione per modificarne il valore 39 / 41

Grafica Il matlab dispone di molte istruzioni per disegnare il grafico di una funzione plot( asc, ord, tipo ) dove asc e ord sono vettori di lunghezza uguale (coordinate dei punti), disegna una curva unendo tali punti. La variabile tipo è una stringa contenente le proprietà della curva (colore, tipo di marcatore, ecc.). L istruzione help plot fornisce tutte le possibili combinazioni di utilizzo e tante altre informazioni per creare anche figure complesse Altri comandi di base sono semilogx, loglog, axis, xlabel, title. L istruzione fplot( funz, xlimit ) disegna il grafico della funzione in funz nell intevallo definito in 40 / 41

Esempio x = linspace(-pi/2,pi/2,100); f = inline( cos(x)+2, x ); plot(x,f(x),.-b ) title( f=cos(x)+2 ) axis([-pi/2 pi/2, 1 3]) 3 f=cos(x)+2 2.9 2.8 2.7 2.6 2.5 2.4 2.3 2.2 2.1 2 1.5 1 0.5 0 0.5 1 1.5 41 / 41