MATLAB. Programmare in MATLAB. Le espressioni in MATLAB

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "MATLAB. Programmare in MATLAB. Le espressioni in MATLAB"

Transcript

1 MATLAB Programmare in MATLAB 1 Le espressioni in MATLAB MATLAB consente di programmare utilizzando espressioni matematiche, che lavorano con matrici Alla base delle espressioni ci sono Numeri Variabili Operatori Funzioni 2

2 I Numeri MATLAB usa la notazione decimale convenzionale con segno La notazione scientifica usa la lettera e (E) per specificare il fattorediscalain potenzedi10. I numeri complessi usano i o j come suffisso. Tuttii calcolieffettuatiin MATLAB sonoeseguitiin doppia precisione, ma si possono visualizzare in un formato diverso usando i comandi: format short format long Format short e Format long e Virgola fissa con 4 decimali Virgola fissa con 15 decimali Notazione scientifica 4 dec. Notazione scientifica 15 dec. 3 Esempio x = [4/ e-6] format short format short e format short g format long format long e format long g format bank format rat format hex e e e e e e /3 1/ ff eb4b6231abfd271 4

3 Le Costanti Nome pi i, j eps realmin realmax Inf NaN Valore Unità immaginarie, sqrt(-1) Floating-point relative precision, 2-52 Smallest floating-point number, Largest floating-point number, (2-ε) Infinito Not-a-number NOTA I nomi delle costanti non sono riservati : si può sovrascrivere ognuno di essi con una nuova variabile Il valore originale può essere ripristinato digitando clear nome_costante Infinito viene generato quando si divide per zero un valore non nullo o quando ben definite espressioni matematiche forniscono un risultato che supera il massimo limite realmax NaN viene generato quando si vogliono valutare forme indeterminate del tipo 0/0 o Inf-Inf 5 Le Variabili MATLAB non richiede che le variabili siano dichiarate o dimensionate all inizio del programma Quando MATLAB trova un nuovo nome di variabile crea automaticamente la variabile e alloca la quantità di memoria necessaria. Se la variabile esiste già MATLAB ne aggiorna il contenuto e, se necessario, varia di conseguenza la memoria ad essa allocata. I nomi di variabili possono essere composti di lettere, numeri, o underscores, ma il primo carattere DEVE essere alfabetico. MATLAB usa solo i primi 31 caratteri del nome della variabile. MATLAB è case sensitive, ossia riconosce lettere maiuscole e lettere minuscole. A e a non sonola stessa variabile. Per visualizzare il contenuto delle variabili basta digitarne il nome sulla linea di comando senza punto e virgola oppure cliccare sulla variabile mostrata sul Workspace Browser. 6

4 Operatori (Richiamo) Le espressioni usano i ben noti operatori aritmetici e le regole della precedenza aritmetica. + - * / \ ^ '.*.^ ecc. Somma Sottrazione Moltiplicazione Divisione Divisione a Sinistra Elevamento a Potenza Trasposta Complessa Coniugata Esegue le operazioni *, ^, ecc. elemento per elemento 7 Generazione di Matrici zeros Contiene tutti zeri ones Contiene tutti uno rand Gli elementi hanno valori casuali uniformemente distribuiti randn Gli elementi hanno valori casuali a distribuzione normale Alcuni esempi: 8

5 Le Funzioni MATLAB fornisce un gran numero di funzioni matematiche elementari, come abs, sqrt, exp, and sin. NOTA: Effettuare la radice quadrata o il logaritmo di un numero negativo non dà errore: il risultatocorretto(complesso) viene calcolato automaticamente MATLAB fornisce inoltre molte altre funzioni matematiche più complesse, tra cui le funzioni di Bessel e le funzioni gamma. La maggior parte di queste funzioni accetta argomenti complessi. Il comando help elfun fornisce una lista delle funzioni matematiche elementari I comandi help specfun e help elmat forniscono rispettivamente una lista delle funzioni più complesse e delle funzioni matriciali Alcune funzioni, come sqrt e sin, sono built in, fanno parte cioè del nucleo di MATLAB e sono veramente efficienti, ma i dettagli computazionali non possono essere visualizzati. Altre funzioni, come gamma and sinh, sono implementate in M- files e di queste è possibile visualizzare il codice e persino modificarlo a piacere 9 Esempi di Espressioni» rho = (1+sqrt(5))/2 rho = » a = abs(3+4i) a = 5» z = sqrt(besselk(4/3,rho-i)) z = i» huge = exp(log(realmax)) huge = e+308» toobig = pi*huge toobig = Inf 10

6 Program Files MATLAB è sia un linguaggio di programmazione molto potente sia un ambiente di calcolo interattivo I files che contengono codice in linguaggio MATLAB si chiamano M-files M-files possono essere creati utilizzando un qualsiasi text editor, e poi possono essere usati esattamente come ogni altra funzione o comando MATLAB nella command window. Ci sono due tipi di M-files: Scripts (macro) che non accettano variabili in ingresso nè forniscono variabili in uscita, bensì lavorano con i dati nel workspace. Funzioni che accettano/richiedono normalmente variabili in ingresso e restituiscono variabili in uscita. Le variabili interne costituiscono variabili locali all interno della funzione. Un programmatore MATLAB principiante può creare gli M-files che vuole eseguire nella current directory. Via via svilupperà molti M-files e preferirà organizzarli in più directories e toolboxes personali che potrà inserire nel search path Se si duplicano i nomi delle funzioni, MATLAB esegue la prima cheapparenelsearch path. 11 Scripts Quando viene lanciato uno script, MATLAB semplicemente esegue i comandi che trova nel file Gli scripts possono lavorare su dati esistenti nel workspace, o possono crearne di nuovi su cui lavorare. Gli scripts non restituiscono alcuna variabile di uscita Tutte le variabili che essi creano rimangono nel workspace e possono essere utilizzate per calcoli successivi. Gli scripts possono produrre uscite grafiche utilizzando funzioni come plot. 12

7 Esempio di Script Creiamo con l editor un file script che chiamiamo magicrank.m che contiene i seguenti comandi MATLAB: % script magicrank.m % Investigate the rank of magic squares r=zeros(1,32); for n=3:32 r(n)=rank(magic(n)); end r bar(r) 13 Uscita dello Script magicrank.m Lanciare l istruzione magicrank fa sì che MATLAB esegua i comandi, calcoli il rango delle prime 30 matrici magic, e visualizzi il risultato tramite un diagramma a barre. Quando l esecuzione del file è finita le variabili n e r restano nel workspace. 14

8 Le Funzioni Le funzioni sono degli M-files che accettano variabili d ingresso e restituiscono variabili in uscita Il nome dell M-file dovrebbe essere nomefunzione.m Le funzioni lavorano sulle variabili all interno del loro workspace che è separato dal workspace al quale possiamo accedere dal prompt di MATLAB. La prima riga di una funzione M-file inizia con la parola chiave function. Questo esprime il nome della funzione e l ordine delle variabili d ingresso. Le righe successive fino al primo spazio o alla prima linea eseguibile sono righe di commento che forniscono il testo dell help 15 Esempi di funzioni L M-file rank.m si trova nella directory toolbox/matlab/matfun Possiamo aprire il file ed abbiamo: function r = rank(a,tol) %RANK Matrix rank %RANK(A) provides an estimate of the number of %linearly independent rows or columns of a matrix A. %RANK(A,tol) is the number of singular values of A that are %larger than tol. %RANK(A) uses the default tol=max(size(a))*norm(a)*eps. s = svd(a); if nargin == 1 tol = max(size(a) )*max(s)*eps; end r = sum(s > tol); 16

9 Esempi di Funzioni (segue) In questo caso si hanno fino a 2 variabili d ingresso e una variabile d uscita. Digitando help rank sulla command window MATLAB visualizzerà tutto quello che è scritto all inizio della funzione come commento Il resto del file è il codice MATLAB eseguibile che definisce la funzione. La variabile s introdotta nel corpo della funzione, così come le variabili sulla prima riga, r, A and tol, sono tutte locali nella funzione; sono separate da tutte le altre variabili contenute nel workspace. Questo esempio mostra un aspetto delle funzioni di MATLAB che non si trova solitamente in altri linguaggi di programmazione un numero variabile di argomenti 17 Esempi di Funzioni (segue) La funzione rank può essere usata in diversi modi: rank(a) r = rank(a) r = rank(a,1.e-6) Se non viene indicata una variabile d uscita, il risultato viene memorizzto in ans. Se la seconda variabile d ingresso non viene fornita, la funzione assume il valore di default. All interno del corpo di una funzione, le due grandezze nargin and nargout dicono il numero di variabili di ingresso e d uscita utilizzato per ogni particolare uso della funzione. La funzione rank usa nargin, mentre non ha bisogno di usare nargout. 18

10 Variabili Globali Per utilizzare una stessa variabile in più funzioni si dichiara la variabile come global in tutte le funzioni. La dichiarazione delle variabili globali deve essere fatta prima che la variabile venga realmente usata in una funzione. Esempio: function h = falling(t) global GRAVITY h = 1/2*GRAVITY*t.^2; Lanciando al prompt le istruzioni: global GRAVITY GRAVITY = 32; y = falling((0:.1:5) ) tramite le due dichiarazioni global rendiamo il valore assegnato a GRAVITY al prompt disponibile anche all interno della funzione. 19 Vettorizzazione Per rendere MATLAB più veloce ed efficiente possibile è importante vettorizzare gli algoritmi dei propri M-files. Dove con altri linguaggi di programmazione bisogna usare cicli FOR o DO, MATLAB può utilizzare operazioni tra vettori o matrici. Es: x =.1; for k = 1:1001 y(k)=log10(x); x = x+.01 end Una versione vettorizzata dello stesso codice è x =.01:.01:10 y = log10(x) Per codici più complicati le versioni vettorizzate non sono poi così ovvie. Tuttavia quando la velocità di elaborazione è importante bisogna sempre cercare di vettorizzare il proprio algoritmo. 20

11 Pre-definizione Qualora non fosse prorpio possibile vettorizzare un pezzo di codice, si possono rendere i cicli più veloci pre-definendo i vettori o le matrici in cui andranno memorizzati i risultati Esempio: r = zeros(32,1); for n=1:32 r(n) = rank(magic(n)); end Senza la pre-definizione nell esempio precedente l interpreter di MATLAB deve aumentare il vettore r di un elemento ogni passo del ciclo. La pre-definizione di un vettore elimina questo step e rende più veloce l esecuzione. 21 Istruzioni di Flow Control I costrutti di MATLAB di tipo flow control: if switch and case for while continue break 22

12 L Operatore IF La forma generale del costrutto IF-THEN-ELSE è la stessa di un qualsiasi linguaggio di programmazione: if condizione1, operazioni1; elseif condizione2, operazioni2; else operazioni3; end; L istruzione if valuta una espressione logica ed esegue un gruppo di istruzioni solo quando l espressione è verificata. Le istruzioni elseif e else permettono l esecuzione di gruppi alternativi di istruzioni. La parola end, che chiude un if, termina l ultimo gruppo di istruzioni. I gruppi di istruzioni sono delineati dalle 4 parole chiave e non sono necessarie parentesi graffe nè quadre. 23 L Operatore IF (segue) Condizione1,2 devono essere condizioni che restituiscono come risultato VERO (1) o FALSO (0). Gli operatori disponibili per tali confronti sono: <, > <=, >= == ~= & ~ maggiore di, minore di non superiore a, non inferiore a uguale diverso and logico or logico not logico 24

13 L Operatore IF - Esempio Operazioni1,2,3 sono le operazioni da compiere se la condizione corrispondente risulta vera. Le varie istruzioni sono separate da virgole e l'ultima è seguita da un punto e virgola. Solo la prima istruzione che verifica la condizione ad essa associata verrà eseguita if n==10, a=b*c, d=e/f; elseif n~=20, a=e*f, d=a/b; else disp ('Errore!!!'); end; 25 L Operatore IF (segue) E importante chiarire COME gli operatori relazionali e le istruzioni if lavorano sulle matrici. if A == B,... Questo è codice MATLAB corretto, e fa quello che ci si aspetta quando A e B sono scalari. Quando A e B sono matrici, A == B non va a verificare SE A e B sono uguali, ma testa DOVE sono uguali, ossia per quali elementi; ne risulta un altra matrice di 0 e 1 che mostra l uguaglianza (o meno) elemento-per-elemento. Se infine A e B non hanno la stessa dimensione, A == B dà errore. La maniera più appropriata per verificare l uguaglianza tra due variabili è quella di utilizzare la funzione isequal if isequal(a,b),... (A e B possono anche essere due matrici) Ci sono molte funzioni atte a rendere i confronti tra matrici simili ai confronti tra scalari all interno di costrutti if, ad es.: isequal, isempty, all, any 26

14 L Istruzione Switch L istruzione switch esegue gruppi di istruzioni in dipendenza dal valore di una variabile o di una espressione. Le parole chiave case e otherwise indicano i gruppi. Viene eseguito solo il primo caso che corrisponde Lo switch deve sempre essere chiuso con un end. Diversamente dal linguaggio C l istruzione switch in MATLAB esegue il caso corrispondente alla prima condizione verificata ed esce, quindi l istruzione break non è richiesta. 27 Istruzioni per Cicli I cicli si possono fare con due diversi costrutti: Il ciclo for ripete un gruppo di istruzioni un numero fisso, assegnato, di volte: for k = 1:step:n, operazioni, end; Il ciclo esegue le operazioni (separate da virgole) incrementando la variabile k da 1 a n con il passo indicato in step. Un end dopo l ultima istruzione indica la fine del ciclo Oppure... 28

15 Istruzioni per Cicli (segue) Il ciclo while ripete un gruppo di istruzioni per un numero indefinito di volte sotto il controllo di una condizione logica. while condizione, operazioni; end; Il ciclo esegue le operazioni (separate da virgole) fino a che la condizione è verificata. La condizione viene costruita con le stesse regole (vincoli ed operatori) di quella dell'if-then-else. 29 Esempi for n = 3:32 r(n) = rank(magic(n)); end r for i = 1:m for j = 1:n H(i,j) = 1/(i+j); end end a = 0; fa = -Inf; b = 3; fb = Inf; while b-a > eps*b x = (a+b)/2; fx = x^3-2*x-5; if sign(fx) == sign(fa) a = x; fa = fx; else b = x; fb = fx; end end x 30

16 L Istruzione Break L istruzione break permette di uscire prima da un ciclo for o while. Se i cicli sono uno dentro l altro, break esce solo dal ciclo nel quale è contenuto Esempio: a = 0; fa = -Inf; b = 3; fb = Inf; while b-a > eps*b x = (a+b)/2; fx = x^3-2*x-5; if fx == 0 break elseif sign(fx) == sign(fa) a = x; fa = fx; else b = x; fb = fx; end end x 31 Importare ed Esportare Dati Ci sono varie tecniche per importare nel workspace di MATLAB i dati creati da altre applicazioni, compreso un Import Wizard Ed altrettante per salvare le variabili contenute nel workspace in un formato tale da poter essere utilizzate da altre applicazioni L Import Wizard è stato introdotto nelle versioni più recenti di MATLAB e permette di importare dati con estensione.dat,.txt, :XLS, ecc. cliccando sul nome del file nel Current Directory Browser o digitando uiimport <nome file> o selezionando File -> Import Data sulla Command Window. Il modo più veloce in Matlab è utilizzare i comandi save e load che salvano e richiamano file con estensione.mat, che però possono essere utilizzati solo in Matlab Altrimenti si possono utilizzare i comandi standard di scrittura e lettura di un file di testo 32

17 LOAD File I/O load carica nel workspace tutte le variabili contenute in matlab.mat load filename carica nel workspace tutte le variabili contenute in filename Se filename non ha estensione, load controlla se filename è un MAT-file. Se ha una estensione diversa, lo considera un file ASCII. load filename X Y Z... Tra tutte le variabili salvate in filename carica solo le variabili X Y Z specificate. load ascii filename o load mat filename obbliga load a considerare il file come un file ASCII o un file MAT, senza curarsi dell estensione del file. Con -ascii, load dà errore se il file non è di testo (numerico). Con -mat, load dà errore se il file non è un MAT-file. SAVE save salva tutte le variabili del workspace in formato binario nella directory corrente in un MAT-file chiamato matlab.mat. save filename salva tutte le variabili del workspace in filename.mat nella directory corrente. save filename var1 var2... Salva solo le variabili specificate in filename.mat. save... option salva le variabili del workspace nel formato specificato da option 33 I/O su file di testo Per creare un archivio: Definisco l archivio file.txt e lo identifico con fid: fid=fopen ( file.txt, wt ); Deposito nell archivio la variabile A (matrice a 2 colonne) nel formato desiderato: fprintf ( nomefile, %6.2g %8.4g\n, A); la prima colonna con 6 cifre di cui 2 decimali la seconda colonna 8 cifre di cui 4 decimali Chiudo il file con il comando: fclose (fid); Se voglio analizzare il file cosi creato posso farlo con un editor di testo qualsiasi. Per leggere dati da un archivio: L archivio di testo file.txt può anche essere stato generato con un programma esterno. Lo identifico con fid: fid = fopen ( file.txt, r ); Si preleva dall archivio fid la matrice A leggendo le due colonne di numeri in formato %g A = fscanf ( fid, %g %g, [2 inf] ); 34

18 MATLAB Cenni di Analisi Numerica Minimizzazione di funzioni Calcolare gli zeri di una funzione Integrazione numerica 35 Come Rappresentare le Funzioni Le funzioni matematiche possono essere espresse come vere e proprie funzioni MATLAB in M-files o come oggetti inline. Consideriamo per es. la funzione 1 1 f( x) = ( x 0.3) ( x 0.9) Come funzione MATLAB %humps.m. function y = humps(x) y = 1./((x - 0.3).^ ) + 1./((x - 0.9).^ ) - 6; Per calcolare la funzione humps in 2.0, si può utilizzare l per ottenere un function handle (letteralmente manico) per humps, da passare alla funzione feval. fh feval(fh,2.0) ans =

19 Come Rappresentare le Funzioni - 2 Come oggetto inline f = inline( 1./((x-0.3).^ ) + 1./((x-0.9).^ )-6 ); f(2.0) ans = E anche possibile creare delle funzioni di più variabili con il comando inline specificando i nomi delle variabili di ingresso insieme all espressione della funzione Per esempio: f= inline('y*sin(x)+x*cos(y)','x','y') f(pi,2*pi) ans = Minimizzare funzioni di una variabile Data una funzione matematica di una variabile implementata in un M-file si può utilizzare la funzione fminbnd per trovare un punto di minimo locale della funzione in un dato intervallo. Per esempio, per trovare un minimo della funzione humps nel range (0.3, 1), la linea di codice è x = che restituisce x = Si può anche ottenere una tabella di output passando a fminbnd una quarta variabile di ingresso creata dal comando optimset: x = 38

20 Minimizzare funzioni di una variabile - 2 Il risultato sarà: Func-count x = x f(x) Procedure Initial Golden Golden Parabolic Parabolic Parabolic Parabolic Parabolic Parabolic Il risultato mostra il valore corrente di x ed il valore della funzione f(x) ad ogni istante in cui viene calcolata la funzione. Per fminbnd calcolare la funzione corrisponde ad una iterazione dell algoritmo. L ultima colonna mostra quale procedura viene utilizzata ad ogni iterazione, o la ricerca della sezione aurea o una interpolazione parabolica. 39 Minimizzare funzioni di più variabili La funzione fminsearch è simile a fminbnd ma lavora con funzioni di più variabili, ed è necessario definire le condizioni iniziali tramite un vettore x 0 anziché tramite un intervallo. fminsearch cerca un punto di minimo locale della funzione matematica che sia vicino al vettore x 0 e restituisce tale valore in un vettore x. Esempio function b = three_var(v) %create a function three_var of 3 variables x = v(1); y = v(2); z = v(3); b = x.^ *sin(y) - z^2*x^2*y^2; Vogliamo trovare un minimo per questa funzione vicino a (-0.6, -1.2, 0.135) v = [ ]; a = a =

21 Opzioni per la Minimizzazione Si possono specificare opzioni di controllo che assegnano alcuni parametri di minimizzazione utilizzando le sintassi: x = fminbnd(fun,x1,x2,options) x = fminsearch(fun,x0,options) options è una struttura usata dalle funzioni di ottimizzazione. Si usa optimset per assegnare i valori alla struttura options: options = optimset('display','iter'); fminbnd e fminsearch usano solo i parametri riportati di seguito. options.display I passi intermedi nella minimizzazione vengono visualizzati sullo schermo se si assegna 'iter a questa opzione; se, altrimenti, si assegna 'off', non verranno visualizzate le soluzioni intermedie; se, infine, si assegna final verrà visualizzato soltanto il risultato finale. options.tolx La tolleranza di arresto per x. Il valore di default è 1.e-4. options.tolfun (fminsearch) La tolleranza di arresto per il valore della funzione. Il valore di default è 1.e-4. options.maxfunevals Il massimo numero di iterazioni previsto. Il valore di default è 500 per fminbnd e 200*length(x0) per fminsearch. 41 Trovare gli Zeri di Funzioni La funzione fzero cerca per quale valore una equazione di una variabile si annulla. Tale funzione accetta come condizione iniziale sia un valore (punto di partenza) sia un vettore di due elementi che rappresenta un intervallo. Fornendo a fzero un punto di partenza x 0, fzero inizialmente cerca un intervallo intorno a questo punto in cui la funzione cambia segno. Se lo trova, fzero restituisce un valore vicino a quello in cui la funzione cambia segno. Altrimenti, restituisce NaN. In alternativa, se si conoscono due punti dove la funzione assume segni opposti, si può specificare l intervallo iniziale tramite un vettore di due elementi; fzero sicuramente restringerà questo intervallo fino a restituire un valore vicino al punto di cambiamento di segno. 42

22 Esempio Usiamo fzero per calcolare uno zero della funzione humps vicino a -0.2 a = a = fzero cerca in un intorno di -0.2 fin quando trova un cambio di segno tra and Questo intervallo viene poi ristretto fino a Possiamo verificare che in la funzione assume un valore molto vicino a zero: humps(a) ans = e -16 Supponiamo ora di conoscere due punti dove i valori della funzione humps hanno segno opposto come per es. x = 1 and x = Esempio (segue) humps(1) ans = 16 humps(-1) ans = Possiamo allora fornire questo intervallo ad fzero che restituirà un punto vicino a dove la funzione cambia segno. Possiamo anche visualizzare i risultati passo passo. Le iterazioni dell algoritmo prevedono la bisezione o l interpolazione che vengono indicate nell ultima colonna dal titolo Procedure. Nel caso in cui si parta da un solo punto anziché da un intervallo, i primi passi potrebbero includere alcune iterazioni in cui fzero cerca un intervallo che contenga un cambio di segno. Si può specificare la tolleranza dell errore relativo tramite optimset. Se si passa una matrice vuota verrà utilizzato il valore di default (eps). 44

23 ... in codice options = optimset('display','iter'); a = 1],options) Func-count x f(x) Procedure initial initial interpolation bisection interpolation bisection interpolation interpolation interpolation e-07 interpolation e-11 interpolation e-16 interpolation e-15 interpolation a = Integrazione Numerica (Quadrature) L area al di sotto di una sezione di una funzione F(x) può essere calcolata integrando numericamente F(x), un processo noto come quadrature. Le funzioni quadrature in MATLAB sono: I. quad Usa il metodo adattativo di Simpson II. quadl Usa il metodo adattativo di Lobatto III. dblquad Calcola numericamente integrali doppi IV. triplequad Calcola numericamente integrali tripli Per integrare la funzione definita in humps.m da 0 a 1: q = q = Entrambi quad e quadl lavorano ricorsivamente. Quando incontrano una possibile singolarità visualizzano un warning. Si può passare a quad o a quadl un quarto argomento che specifica la tolleranza dell errore relativo per l integrazione. Se si specifica anche un quinto argomento non nullo vengono visualizzate anche i valori delle funzioni calcolati ad ogni iterazione 46

24 Esempio: Calcolare la lunghezza di una curva Consideriamo la curva parametrizzata dalle equazioni: x(t) = sin(2t), y(t) = cos(t), z(t) = t dove t [0,3p]. Un grafico in 3-D di questa funzione è t = 0:0.1:3*pi; plot3(sin(2*t),cos(t),t) Esiste un teorema che ci dice che la lunghezza della curva è l integrale della norma delle derivate delle equazioni parametrizzate: 3π cos(2 t) + sin ( t) + 1 dt 0 Definiamo la funzione hcurve che calcola l integrando function f = hcurve(t) f = sqrt(4*cos(2*t).^2 + sin(t).^2 + 1); Calcoliamo l integrale tramite quad len = len = e+01 La lunghezza di questa curva è circa Esempio: Integrale doppio Vogliamo risolvere per via numerica l integrale y MAX y MIN xmax xmin f ( x, y) dxdy Sia f(x,y)=ysin(x)+xcos(y). Il primo passo consiste nel costruire la funzione da calcolare. La funzione deve restituire un vettore d uscita dato un vettore in ingresso. Bisogna anche tenere presente quale variabile compete all integrale più interno e quale a quello più esterno. In questo nostro esempio, la variabile più interna è x e quella più esterna y (l ordine nell integrale è dxdy). In questo caso, la funzione integranda sarà function out = integrnd(x,y) out = y*sin(x) + x*cos(y); Per calcolare l integrale abbiamo a disposizione due funzioni, quad e quadl, che possono essere chiamate da dblquad. Questo M-file calcola il loop più esterno usando quad o quadl. Ad ogni iterazione, quad (quadl) chiama una seconda funzione ausiliaria che calcola il ciclo più interno. Per calcolare l integrale doppio si usa result = 48

25 Esempio è una stringa che rappresenta il nome della funzione integranda xmin esprime il limite inferiore dell integrale più interno xmax esprime il limite superiore dell integrale più interno ymin esprime il limite inferiore dell integrale più esterno ymax esprime il limite superiore dell integrale più esterno Ad esempio: xmin = pi; xmax = 2*pi; ymin = 0; ymax = pi; result = result = Per default, dblquad chiama quad. Per svolgere l integrale doppio dell esempio proposto usando quadl (assumendo come tolleranza il valore di default), si usa result = Si può passare a dblquad qualsiasi nome di funzione quadrature definita dall utente purché ovviamente abbia gli stessi argomenti di ingresso e di uscita di quad 49 MATLAB Calcolo Numerico Polinomi Equazioni alle differenze e filtraggi Analisi di Fourier e FFT Curve di Regressione 50

26 Operazioni su/con Polinomi Rappresentare i polinomi in MATLAB Calcolare le radici di un polinomio Calcolare i coefficienti del polinomio caratteristico di una matrice Calcolare un polinomio per un certo valore della variabile Moltiplicazione/divisione tra polinomi Derivata di un polinomio Trovare il polinomio che meglio approssima l andamento di punti dati (es. dati sperimentali) Conversioni tra espansioni in fratti semplici e coefficienti del polinomio associato 51 Elenco delle Funzioni per i Polinomi FUNZIONE conv deconv poly polyder polyfit polyval polyvalm residue roots DESCRIZIONE Moltiplicazione di polinomi Divisione di polinomi Date le radici di un polinomio ne calcola i coefficienti Calcola la derivata di un polinomio Regressione di curve tramite polinomi Calcolo di polinomi Calcolo di polinomi matriciali Espansione in fratti semplici (residui) Trova le radici di un polinomio 52

27 Rappresentazione dei Polinomi MATLAB rappresenta un polinomio tramite un vettore riga Gli elementi di tale vettore riga sono i coefficienti del polinomio ordinati secondo le potenze decrescenti Ad esempio, per rappresentare in MATLAB il polinomio: p(x) = x 3 2x 5 bisogna definire il vettore p = [ ] 53 Calcolo delle radici di un polinomio Il calcolo delle radici di un polinomio viene fatto dalla funzione roots: r = roots(p) r = i i Per convenzione, MATLAB salva le radici in vettori colonna La funzione inversa a roots, ossia la funzione che date in ingresso le radici di un polinomio ne calcola i coefficienti, si chiama poly: p2 = poly(r) p2 = e

28 Polinomi Caratteristici La funzione poly calcola anche i coefficienti del polinomio caratteristico di una matrice A = [ ; ; 9 0 1]; poly(a) ans = Le radici di questo polinomio, calcolate con roots, sono le radici caratteristiche, o autovalori, della matrice A. (Per calcolare direttamente gli autovalori (eigenvalues in inglese) di una matrice esiste la funzione eig) 55 Calcolo di un Polinomio La funzione polyval calcola un polinomio per un dato valore. Per es. calcoliamo p(s) = s 3 2s 5 per s = 5: polyval(p,5) ans = 110 E anche possibile calcolare un polinomio la cui variabile sia una matrice. In questo caso p(s)=s 3 2s 5 diventa p(x)=x 3 2X 5I dove X è una matrice quadrata e I è la matrice identità. Per es. Definiamo una matrice X e calcoliamo il polinomio p in X: X = [2 4 5; ; 7 1 5]; Y = polyvalm(p,x) Y =

29 Moltiplicazione e Divisione di Polinomi Le operazioni di moltilicazione e divisione di polinomi corrispondono alle operazioni di convoluzione e deconvoluzione implementate nelle funzioni conv e deconv Ad es., vogliamo calcolare il prodotto dei polinomi a(s)=s 2 +2s+3 e b(s)=4s 2 +5s+6 Definiamo: a = [1 2 3]; b = [4 5 6]; Il prodotto risulta: c = conv(a,b) c = Per riottenere uno dei fattori dal prodotto, uso invece la deconvoluzione: [q,r] = deconv(c,a) q = r = Derivare un Polinomio Si usa la funzione polyder. Per es., per calcolare la derivata del polinomio p = [ ]: q = polyder(p) q = polyder calcola anche la derivata del prodotto o della divisione di due polinomi. Per es., siano: a = [1 3 5]; b = [2 4 6]; La derivata del prodotto a*b si ottiene lanciando polyder con una sola variabile d uscita: c = polyder(a,b) c = Se invece chiedo 2 variabili di uscita, polyder restituisce a/b: [q,d] = polyder(a,b) q = d =

RETI DI TELECOMUNICAZIONE

RETI DI TELECOMUNICAZIONE RETI DI TELECOMUNICAZIONE NOZIONI ELEMENTARI DI MATLAB Cos è MATLAB Il nome MATLAB sta per MATrix LABoratory E un linguaggio ad alta prestazione per l elaborazione tecnica E un sistema interattivo il cui

Dettagli

Rapida Introduzione all uso del Matlab Ottobre 2002

Rapida Introduzione all uso del Matlab Ottobre 2002 Rapida Introduzione all uso del Matlab Ottobre 2002 Tutti i tipi di dato utilizzati dal Matlab sono in forma di array. I vettori sono array monodimensionali, e così possono essere viste le serie temporali,

Dettagli

MATLAB (1) Introduzione e Operazioni con array

MATLAB (1) Introduzione e Operazioni con array Laboratorio di Informatica per Ingegneria elettrica A.A. 2010/2011 Prof. Sergio Scippacercola MATLAB (1) Introduzione e Operazioni con array N.B. le slide devono essere utilizzate solo come riferimento

Dettagli

Laboratorio Algoritmi 2014 Secondo Semestre

Laboratorio Algoritmi 2014 Secondo Semestre Laboratorio Algoritmi 2014 Secondo Semestre Lunedì 14:30 17:30 Aula 2. Ricevimento: inviare e-mail a frasca@di.unimi.it. 44 ore (9 CFU) Linguaggio di programmazione: MATLAB Esame : progetto e/o prova scritta

Dettagli

Introduzione a Matlab

Introduzione a Matlab Introduzione a Matlab 1 Introduzione Matlab (MATrix LABoratory) è un software per il calcolo scientifico, particolarmente sviluppato per quanto riguarda la gestione ed elaborazione di vettori e matrici.

Dettagli

MATLAB MATLAB. MATLAB: MAtrix LABoratory Cosa è MATLAB? Usi tipici:

MATLAB MATLAB. MATLAB: MAtrix LABoratory Cosa è MATLAB? Usi tipici: MATLAB 1 MATLAB MATLAB: MAtrix LABoratory Cosa è MATLAB? MATLAB è un linguaggio di programmazione facile da usare adatto ad ambiti tecnici dove I problemi sono espressi in notazione matematica. Usi tipici:

Dettagli

CONTROLLI AUTOMATICI E AZIONAMENTI ELETTRICI Ingegneria Meccatronica

CONTROLLI AUTOMATICI E AZIONAMENTI ELETTRICI Ingegneria Meccatronica CONTROLLI AUTOMATICI E AZIONAMENTI ELETTRICI Ingegneria Meccatronica CONTROLLI AUTOMATICI e AZIONAMENTI ELETTRICI INTRODUZIONE A MATLAB Ing. Alberto Bellini Tel. 0522 522626 e-mail: alberto.bellini@unimore.it

Dettagli

Introduzione a MATLAB INTRODUZIONE A MATLAB

Introduzione a MATLAB INTRODUZIONE A MATLAB INTRODUZIONE A MATLAB 1 Il programma MATLAB: indice Introduzione, help e files Punteggiatura e variabili Operatori Matrici Polinomi Istruzione IF-THEN-ELSE e Cicli Stringhe di testo, input ed output Grafici

Dettagli

Introduzione al MATLAB c Parte 1

Introduzione al MATLAB c Parte 1 Introduzione al MATLAB c Parte 1 Lucia Gastaldi Dipartimento di Matematica, http://dm.ing.unibs.it/gastaldi/ Lezione 1-2 maggio 2007 Outline 1 Cos è il MATLAB Componenti principali di MATLAB 2 Avvio Avviare

Dettagli

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

Introduzione allo Scilab Parte 1: numeri, variabili ed operatori elementari Introduzione allo Scilab Parte 1: numeri, variabili ed operatori elementari Felice Iavernaro Dipartimento di Matematica Università di Bari http://dm.uniba.it/ iavernaro 6 Giugno 2007 Felice Iavernaro (Univ.

Dettagli

BOZZA Introduzione a MATLAB

BOZZA Introduzione a MATLAB BOZZA Introduzione a MATLAB BOZZA BOZZA Matlab sta per Matrix Laboratory ed è un ambiente interattivo e un linguaggio di calcolo tecnico di alto livello per lo sviluppo di algoritmi, la rappresentazione

Dettagli

Lezioni su MATLAB. Ingegneria Civile/Meccanica

Lezioni su MATLAB. Ingegneria Civile/Meccanica Lezioni su ali in Ingegneria Civile/Meccanica Corso di laboratorio di informatica 06/07 Sommario ali in 1 2 3 4 ali 5 6 in ali in : MATrix LABoratory È un ambiente per l analisi e la simulazione dei sistemi

Dettagli

if t>=0 x=1; else x=0; end fornisce, nella variabile x, il valore della funzione gradino a tempi continui, calcolata in t.

if t>=0 x=1; else x=0; end fornisce, nella variabile x, il valore della funzione gradino a tempi continui, calcolata in t. Il programma MATLAB In queste pagine si introduce in maniera molto breve il programma di simulazione MAT- LAB (una abbreviazione di MATrix LABoratory). Introduzione MATLAB è un programma interattivo di

Dettagli

Laboratorio di Matlab

Laboratorio di Matlab Laboratorio di Matlab Rudy Manganelli Dipartimento di Ingegneria dell Informazione, Università di Siena manganelli@dii.unisi.it http://www.dii.unisi.it/ control/matlab/labmatlab.html Luglio 2008 DII -

Dettagli

Software di calcolo numerico, analisi, statistica e simulazione. Un esempio pratico: Octave

Software di calcolo numerico, analisi, statistica e simulazione. Un esempio pratico: Octave Software di calcolo numerico, analisi, statistica e simulazione Un esempio pratico: Octave Problemi tradizionali Risoluzione di funzioni matematiche complesse Esecuzione di calcoli matriciali Analisi

Dettagli

Introduzione al MATLAB c Parte 2

Introduzione al MATLAB c Parte 2 Introduzione al MATLAB c Parte 2 Lucia Gastaldi Dipartimento di Matematica, http://dm.ing.unibs.it/gastaldi/ 18 gennaio 2008 Outline 1 M-file di tipo Script e Function Script Function 2 Costrutti di programmazione

Dettagli

SISTEMI DI CONTROLLO Ingegneria Meccanica e Ingegneria del Veicolo

SISTEMI DI CONTROLLO Ingegneria Meccanica e Ingegneria del Veicolo SISTEMI DI CONTROLLO Ingegneria Meccanica e Ingegneria del Veicolo http://www.dii.unimore.it/~lbiagiotti/sistemicontrollo.html it/~lbiagiotti/sistemicontrollo html INTRODUZIONE A MATLAB Ing. e-mail: luigi.biagiotti@unimore.it

Dettagli

LEZIONE DI MATLAB 2.0. Ing.Irene Tagliente E-mail: irene.tagliente@opbg.net

LEZIONE DI MATLAB 2.0. Ing.Irene Tagliente E-mail: irene.tagliente@opbg.net LEZIONE DI MATLAB 2.0 Ing.Irene Tagliente E-mail: irene.tagliente@opbg.net Cos è Matlab Il programma MATLAB si è imposto in ambiente ingegneristico come strumento per la simulazione e l'analisi dei sistemi

Dettagli

Lab. 1 - Introduzione a Matlab

Lab. 1 - Introduzione a Matlab Lab. 1 - Introduzione a Matlab Alcune informazioni su Matlab Matlab è uno strumento per il calcolo scientifico utilizzabile a più livelli, dalla calcolatrice tascabile, alla simulazione ed analisi di sistemi

Dettagli

Integrazione numerica

Integrazione numerica Integrazione numerica Lucia Gastaldi Dipartimento di Matematica, http://dm.ing.unibs.it/gastaldi/ Lezione 6-20-26 ottobre 2009 Indice 1 Formule di quadratura semplici e composite Formule di quadratura

Dettagli

INTRODUZIONE A MATLAB Matrix Laboratory

INTRODUZIONE A MATLAB Matrix Laboratory INTRODUZIONE A MATLAB Matrix Laboratory Introduzione Linguaggio di programmazione per applicazioni scientifiche e numeriche Vasto set di funzioni predefininte Interprete di comandi Possibilità di scrivere

Dettagli

Grafici tridimensionali

Grafici tridimensionali MatLab Lezione 3 Grafici tridimensionali Creazione di un Grafico 3D (1/4) Si supponga di voler tracciare il grafico della funzione nell intervallo x = [0,5]; y=[0,5] z = e -(x+y)/2 sin(3x) sin(3y) Si può

Dettagli

Capitolo 1. Il MATLAB. 1.1 Introduzione al MATLAB

Capitolo 1. Il MATLAB. 1.1 Introduzione al MATLAB Capitolo 1 Il MATLAB 1.1 Introduzione al MATLAB Il Matlab (acronimo delle parole inglesi MATrix LABoratory) è un software basato sulla manipolazione di matrici molto utilizzato nel campo della ricerca

Dettagli

Laboratorio per l Elaborazione MultiMediale Lezione 1 - Introduzione a Matlab R

Laboratorio per l Elaborazione MultiMediale Lezione 1 - Introduzione a Matlab R Laboratorio per l Elaborazione MultiMediale Lezione 1 - a Prof. Michele Scarpiniti Dipartimento di Ingegneria dell Informazione, Elettronica e Telecomunicazioni Sapienza Università di Roma http://ispac.ing.uniroma1.it/scarpiniti/index.htm

Dettagli

PON 2007 2013 Liceo Scientifico Leonardo da Vinci. Vallo della Lucania

PON 2007 2013 Liceo Scientifico Leonardo da Vinci. Vallo della Lucania PON 2007 2013 Liceo Scientifico Leonardo da Vinci Vallo della Lucania Nuovi percorsi matematici: Osservare, descrivere, costruire. Matlab - 1: Introduzione Vallo della Lucania 26 settembre 2008 Cosa è

Dettagli

MATLAB. Note Introduttive. Matlab

MATLAB. Note Introduttive. Matlab MATLAB Note Introduttive Cos é MATLAB MATLAB (MATrix LABoratory) è un programma interattivo per il calcolo numerico, in cui l elemento base èlamatrice Viene oggi largamente utilizzato sia per la didattica

Dettagli

LEZIONE ICO 12-10-2009

LEZIONE ICO 12-10-2009 LEZIONE ICO 12-10-2009 Argomento: introduzione alla piattaforma Matlab. Risoluzione numerica di problemi di minimo liberi e vincolati. Lucia Marucci marucci@tigem.it http://www.mathworks.com/access/helpdesk/help/toolbo

Dettagli

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

Laboratorio di Matematica Computazionale A.A. 2008-2009 Lab. 1 - Introduzione a Matlab Laboratorio di Matematica Computazionale A.A. 2008-2009 Lab. 1 - Introduzione a Matlab Alcune informazioni su Matlab Matlab è uno strumento per il calcolo scientifico utilizzabile a più livelli, dalla

Dettagli

Finestre grafiche. >> figure >> figure(n)

Finestre grafiche. >> figure >> figure(n) Finestre grafiche MATLAB ha anche la possibilità di lavorare con delle finestre grafiche sulle quali si possono fare disegni bidimensionali o tridimensionali. Una finestra grafica viene aperta con il comando

Dettagli

Cenni sull'impiego di Matlab. Matrici

Cenni sull'impiego di Matlab. Matrici Cenni sull'impiego di Matlab Il Matlab è un potente valutatore di espressioni matriciali con valori complessi. Lavorando in questo modo il Matlab indica una risposta ad ogni comando od operazione impartitagli.

Dettagli

MATLAB - Introduzione Enrico Nobile. MATLAB - Introduzione. E. Nobile - DINMA - Sezione di Fisica Tecnica, Università di Trieste

MATLAB - Introduzione Enrico Nobile. MATLAB - Introduzione. E. Nobile - DINMA - Sezione di Fisica Tecnica, Università di Trieste Enrico Nobile I a Parte 1 MATLAB (MATrix LABoratory); Versione 5.2; Basato sul concetto - ampio - di Matrici; Calcolo numerico, visualizzazione etc. Facile utilizzo di librerie per il calcolo numerico

Dettagli

22 Introduzione all uso di MatLab

22 Introduzione all uso di MatLab 22 Introduzione all uso di MatLab INTERFACCIA UTENTE E STRINGHE Per visualizzare su schermo il valore di una variabile a senza farla precedere dalla scritta a=, si usa il comando disp (abbreviazione di

Dettagli

Manualetto di Matlab R

Manualetto di Matlab R Manualetto di Matlab R 1 Comandi d avvio L. Scuderi Per avviare Matlab in ambiente Windows è sufficiente selezionare con il mouse l icona corrispondente. In ambiente MsDos o in ambiente Unix basta digitare

Dettagli

I Lezione: Il programma MATLAB. 1 Introduzione. 2 Matrici in MATLAB

I Lezione: Il programma MATLAB. 1 Introduzione. 2 Matrici in MATLAB I Lezione: Il programma MATLAB In questa sezione introdurremo in maniera molto breve il programma di simulazione MATLAB (una abbreviazione di MAtrix LABoratory) che è stato usato per lo sviluppo delle

Dettagli

Matlab. Ing. Francesco Licandro. Corso Fondamenti di Telecomunicazioni A.A. 2004-2005

Matlab. Ing. Francesco Licandro. Corso Fondamenti di Telecomunicazioni A.A. 2004-2005 Matlab Ing. Francesco Licandro Corso Fondamenti di Telecomunicazioni A.A. 2004-2005 1 MATLAB: MATrix LABoratory Matlab Ing. Francesco Licandro - 2005 2 Interfaccia Grafica Matlab Ing. Francesco Licandro

Dettagli

Dati importati/esportati

Dati importati/esportati Dati importati/esportati Dati importati Al workspace MATLAB script Dati esportati file 1 File di testo (.txt) Spreadsheet Database Altro Elaborazione dati Grafici File di testo Relazioni Codice Database

Dettagli

Lezione 8. La macchina universale

Lezione 8. La macchina universale Lezione 8 Algoritmi La macchina universale Un elaboratore o computer è una macchina digitale, elettronica, automatica capace di effettuare trasformazioni o elaborazioni su i dati digitale= l informazione

Dettagli

Scheda n.1: il software R

Scheda n.1: il software R Scheda n.1: il software R September 30, 2008 1 Introduzione Il software denominato R si può scaricare gratuitamente da rete, all indirizzo http://www.r-project.org/, seguendo le istruzioni di download.

Dettagli

Introduzione al MATLAB c

Introduzione al MATLAB c Introduzione al MATLAB c Lucia Gastaldi Dipartimento di Matematica, http://dm.ing.unibs.it/gastaldi/ Lezione 1-5 maggio 2009 Indice 1 Cos è il MATLAB Componenti principali di MATLAB Le finestre di MATLAB

Dettagli

Laboratorio di Chimica Fisica 04/03/2015. Introduzione all uso di Microcal Origin 6.0 (TM)

Laboratorio di Chimica Fisica 04/03/2015. Introduzione all uso di Microcal Origin 6.0 (TM) Introduzione all uso di Microcal Origin 6.0 (TM) Origin lavora solo in ambiente Windows, ma ci sono degli omologhi per linux e apple. Sui computer del laboratorio è installato windows XP e troverete la

Dettagli

A cura di Andrea Di Ferdinando

A cura di Andrea Di Ferdinando Dispense del corso base di programmazione scientifica in ambiente MATLAB A cura di Andrea Di Ferdinando Anno accademico 2003-2004 Capitolo 1 Panoramica dell ambiente MatLab 1. Che cos è MatLab Per comprendere

Dettagli

Corso di Visione Artificiale. Matlab per Visione. Samuel Rota Bulò

Corso di Visione Artificiale. Matlab per Visione. Samuel Rota Bulò Corso di Visione Artificiale Matlab per Visione Samuel Rota Bulò Cos'è Matlab? MATLAB MATLAB - - MATrix MATrix LABoratory LABoratory Ambiente Ambiente di di sviluppo sviluppo ed ed esecuzione esecuzione

Dettagli

Lezione2 Ricerca di zeri. http://idefix.mi.infn.it/~palombo/didattica/lab-tnds/corsolab/lezionifrontali. Fernando Palombo

Lezione2 Ricerca di zeri. http://idefix.mi.infn.it/~palombo/didattica/lab-tnds/corsolab/lezionifrontali. Fernando Palombo Lezione2 Ricerca di zeri http://idefix.mi.infn.it/~palombo/didattica/lab-tnds/corsolab/lezionifrontali Fernando Palombo Aritmetica Finita nel Computer Nel computer l aritmetica è a precisione finita cioè

Dettagli

Documentazione esterna al software matematico sviluppato con MatLab

Documentazione esterna al software matematico sviluppato con MatLab Documentazione esterna al software matematico sviluppato con MatLab Algoritmi Metodo di Gauss-Seidel con sovrarilassamento Metodo delle Secanti Metodo di Newton Studente Amelio Francesco 556/00699 Anno

Dettagli

Analisi dei segnali nel dominio della frequenza

Analisi dei segnali nel dominio della frequenza Laboratorio di Telecomunicazioni - a.a. 2010/2011 Lezione n. 7 Analisi dei segnali nel dominio della frequenza docente L.Verdoliva In questa lezione affrontiamo il problema dell analisi dei segnali tempo

Dettagli

GeoGebra 4.2 Introduzione all utilizzo della Vista CAS per il secondo biennio e il quinto anno

GeoGebra 4.2 Introduzione all utilizzo della Vista CAS per il secondo biennio e il quinto anno GeoGebra 4.2 Introduzione all utilizzo della Vista CAS per il secondo biennio e il quinto anno La Vista CAS L ambiente di lavoro Le celle Assegnazione di una variabile o di una funzione / visualizzazione

Dettagli

Matlab: Strutture di Controllo. Informatica B

Matlab: Strutture di Controllo. Informatica B Matlab: Strutture di Controllo Informatica B Tipo di dato logico È un tipo di dato che può avere solo due valori true (vero) 1 false (falso) 0 I valori di questo tipo possono essere generati direttamente

Dettagli

INTRODUZIONE A. Guido Vagliasindi Controlli Automatici A.A. 06/07 Introduzione a MATLAB

INTRODUZIONE A. Guido Vagliasindi Controlli Automatici A.A. 06/07 Introduzione a MATLAB INTRODUZIONE A Documentazione Sito web di Mathworks: www.mathworks.com seguendo i link alla voce support e possibile trovare i manuali di Matlab in formato pdf. (http://www.mathworks.com/access/helpdesk/help/techd

Dettagli

Facoltà di Ingegneria Industriale. Matlab/Octave - Esercitazione 3

Facoltà di Ingegneria Industriale. Matlab/Octave - Esercitazione 3 Facoltà di Ingegneria Industriale Laurea in Ingegneria Energetica, Meccanica e dei Trasporti Matlab/Octave - Esercitazione 3 funzioni definizione ed invocazione delle funzioni semantica dell invocazione

Dettagli

Calcolo Numerico A.A. 2013-2014 Esercitazione n. 3 21-03-2014

Calcolo Numerico A.A. 2013-2014 Esercitazione n. 3 21-03-2014 Calcolo Numerico A.A. 2013-2014 Esercitazione n. 3 21-03-2014 Grafica: plot 2D Grafica MATLAB è molto più di un semplice software in grado di eseguire calcoli numerici (anche se in forma molto sofisticata).

Dettagli

Matlab per applicazioni statistiche

Matlab per applicazioni statistiche Matlab per applicazioni statistiche Marco J. Lombardi 19 aprile 2005 1 Introduzione Il sistema Matlab è ormai uno standard per quanto riguarda le applicazioni ingegneristiche e scientifiche, ma non ha

Dettagli

Introduzione a MATLAB. Il Laboratorio. MATLAB Cos è? Oltre alle lezioni. Octave ( www.octave.org ) Scilab ( www.scilab.org )

Introduzione a MATLAB. Il Laboratorio. MATLAB Cos è? Oltre alle lezioni. Octave ( www.octave.org ) Scilab ( www.scilab.org ) Introduzione a MATLAB! Informazioni sul laboratorio! MATLAB! Operazioni di base! Variabili ed assegnamento! Comandi utili! Utilizzo dell Help! Formato dei numeri! Numeri complessi Il Laboratorio! Openlab

Dettagli

Comandi di Input/Output in Matlab

Comandi di Input/Output in Matlab Comandi di Input/Output in Matlab Il comando format controlla la configurazione numerica dei valori esposta da MAT- LAB; il comando regola solamente come i numeri sono visualizzati o stampati, non come

Dettagli

UNIVERSITÀ DEGLI STUDI DI FERRARA

UNIVERSITÀ DEGLI STUDI DI FERRARA UNIVERSITÀ DEGLI STUDI DI FERRARA Anno Accademico 2012/2013 REGISTRO DELL ATTIVITÀ DIDATTICA Docente: ANDREOTTI MIRCO Titolo del corso: MATEMATICA ED ELEMENTI DI STATISTICA Corso: CORSO UFFICIALE Corso

Dettagli

Struttura logica di un programma

Struttura logica di un programma Struttura logica di un programma Tutti i programmi per computer prevedono tre operazioni principali: l input di dati (cioè l inserimento delle informazioni da elaborare) il calcolo dei risultati cercati

Dettagli

Tutorial. Mathworks Matlab

Tutorial. Mathworks Matlab Tutorial Mathworks Matlab per il Corso di Studio in ing. Informatica (1 livello) Analisi dei Sistemi Anno Accademico 2002-2003 Docente: Prof. Ing. Paolo Arena Tutor: Ing. Adriano Basile Ultima versione:

Dettagli

Introduzione allo Scilab Parte 3: funzioni; vettori.

Introduzione allo Scilab Parte 3: funzioni; vettori. Introduzione allo Scilab Parte 3: funzioni; vettori. Felice Iavernaro Dipartimento di Matematica Università di Bari http://dm.uniba.it/ iavernaro felix@dm.uniba.it 13 Giugno 2007 Felice Iavernaro (Univ.

Dettagli

Introduzione a Matlab

Introduzione a Matlab Introduzione a Matlab Ruggero Donida Labati Dipartimento di Tecnologie dell Informazione via Bramante 65, 26013 Crema (CR), Italy ruggero.donida@unimi.it Perché? MATLAB is a high-level technical computing

Dettagli

Interpolazione ed approssimazione di funzioni

Interpolazione ed approssimazione di funzioni Interpolazione ed approssimazione di funzioni Lucia Gastaldi Dipartimento di Matematica, http://dm.ing.unibs.it/gastaldi/ 9 novembre 2007 Outline 1 Polinomi Valutazione di un polinomio Algoritmo di Horner

Dettagli

Manuale di MATLAB. (livello base)

Manuale di MATLAB. (livello base) Manuale di MATLAB (livello base) 1 Panoramica introduttiva Il MATLAB (acronimo delle parole inglesi MATrix LABoratory) è un software basato sulla manipolazione di matrici molto utilizzato nel campo della

Dettagli

ESAME DI STATO DI LICEO SCIENTIFICO CORSO SPERIMENTALE P.N.I. 2003 Sessione straordinaria

ESAME DI STATO DI LICEO SCIENTIFICO CORSO SPERIMENTALE P.N.I. 2003 Sessione straordinaria ESAME DI STATO DI LICEO SCIENTIFICO CORSO SPERIMENTALE P.N.I. 3 Sessione straordinaria Il candidato risolva uno dei due problemi e 5 dei quesiti in cui si articola il questionario. PROBLEMA È assegnata

Dettagli

Corso di Laurea in Matematica, Università di Roma La Sapienza Corso di ANALISI NUMERICA Esercitazioni in Laboratorio, 16 Maggio 2011

Corso di Laurea in Matematica, Università di Roma La Sapienza Corso di ANALISI NUMERICA Esercitazioni in Laboratorio, 16 Maggio 2011 Corso di Laurea in Matematica, Università di Roma La Sapienza Corso di ANALISI NUMERICA Esercitazioni in Laboratorio, 16 Maggio 2011 Foglio 4: Metodi diretti per i sistemi lineari Scrivere un programma

Dettagli

LICEO SCIENTIFICO opzione delle scienze applicate MATEMATICA LICEO SCIENTIFICO MATEMATICA

LICEO SCIENTIFICO opzione delle scienze applicate MATEMATICA LICEO SCIENTIFICO MATEMATICA LICEO SCIENTIFICO MATEMATICA PROFILO GENERALE E COMPETENZE Al termine del percorso liceale lo studente dovrà padroneggiare i principali concetti e metodi di base della matematica, sia aventi valore intrinseco

Dettagli

Advanced level. Corso Matlab : Samuela Persia, Ing. PhD.

Advanced level. Corso Matlab : Samuela Persia, Ing. PhD. Advanced level Corso Matlab : Seconda lezione (Esercitazione, 27/09/13) Samuela Persia, Ing. PhD. Sommario Presentazione Programma delle Esercitazioni Ogni Esercitazione prevede: Richiami Teoria e Sintassi

Dettagli

Appunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C

Appunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C Università di Roma Tre Facoltà di Scienze M.F.N. Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C Marco Liverani (liverani@mat.uniroma3.it)

Dettagli

LICEO SCIENTIFICO opzione delle scienze applicate MATEMATICA

LICEO SCIENTIFICO opzione delle scienze applicate MATEMATICA LICEO SCIENTIFICO opzione delle scienze applicate MATEMATICA PROFILO GENERALE E COMPETENZE Al termine del percorso liceale lo studente dovrà padroneggiare i principali concetti e metodi di base della matematica,

Dettagli

Appunti del corso di Informatica 1. 6 Introduzione al linguaggio C

Appunti del corso di Informatica 1. 6 Introduzione al linguaggio C Università di Roma Tre Dipartimento di Matematica e Fisica Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C Marco Liverani (liverani@mat.uniroma3.it)

Dettagli

MATEMATICA LINEE GENERALI E COMPETENZE

MATEMATICA LINEE GENERALI E COMPETENZE MATEMATICA LINEE GENERALI E COMPETENZE Al termine del percorso del liceo scientifico lo studente conoscerä i concetti e i metodi elementari della matematica, sia interni alla disciplina in så considerata,

Dettagli

Laboratorio di Statistica con R

Laboratorio di Statistica con R Laboratorio di Statistica con R R è un vero e proprio linguaggio di programmazione. Il suo nome, è dovuto probabilmente al nome dei suoi sviluppatori:robert Gentleman e Ross Ihaka Le principali funzioni

Dettagli

Advanced level. Corso Matlab :

Advanced level. Corso Matlab : Advanced level Corso Matlab : Quinta lezione (Esercitazione, 18/10/13) Samuela Persia, Ing. PhD. Sommario Richiami Teoria Cenni File.m Debug Cenni Financial Toolbox Esercizi: Utilizzo degli m file Utilizzo

Dettagli

Elaborazioni nel dominio spaziale (1) Soluzioni

Elaborazioni nel dominio spaziale (1) Soluzioni Elaborazione dei Segnali Multimediali a.a. 2009/2010 Elaborazioni nel dominio spaziale (1) Soluzioni 1 Rappresentazione delle immagini in Matlab 1. Lettura e visualizzazione di un immagine JPEG. function

Dettagli

Introduzione agli ambienti

Introduzione agli ambienti Introduzione agli ambienti MATLAB c e Octave Utilizzo di Matlab/Octave ed operazioni fondamentali. Primi rudimenti di grafica. Paola Gervasio 1 MATLAB = MATrix LABoratory è un ambiente integrato per la

Dettagli

Elaborazione di Dati e Segnali Biomedici

Elaborazione di Dati e Segnali Biomedici Introduzione all uso di Matlab Mario Cesarelli Corso di Laurea in Ingegneria Biomedica Rev.1 Anno accademico 2004-05 Rev.2 Anno accademico 2005-06 Indice INTRODUZIONE A MATLAB... 5 INTRODUZIONE A MATLAB...

Dettagli

4. Matrici e Minimi Quadrati

4. Matrici e Minimi Quadrati & C. Di Natale: Matrici e sistemi di equazioni di lineari Formulazione matriciale del metodo dei minimi quadrati Regressione polinomiale Regressione non lineare Cross-validazione e overfitting Regressione

Dettagli

L utility Unix awk [Aho-Weinberger-Kernighan]

L utility Unix awk [Aho-Weinberger-Kernighan] L utility Unix awk [Aho-Weinberger-Kernighan] L utility awk serve per processare file di testo secondo un programma specificato dall utente. L utility awk legge riga per riga i file ed esegue una o più

Dettagli

Introduzione al Foglio Elettronico

Introduzione al Foglio Elettronico Microsoft Excel Introduzione al Foglio Elettronico Il Foglio Elettronico Si presenta come una grande tabella su un foglio di carta Le celle contengono differenti dati Numeri Testo Date Ecc I dati possono

Dettagli

+ / operatori di confronto (espressioni logiche/predicati) / + 5 3 9 = > < Pseudo codice. Pseudo codice

+ / operatori di confronto (espressioni logiche/predicati) / + 5 3 9 = > < Pseudo codice. Pseudo codice Pseudo codice Pseudo codice Paolo Bison Fondamenti di Informatica A.A. 2006/07 Università di Padova linguaggio testuale mix di linguaggio naturale ed elementi linguistici con sintassi ben definita e semantica

Dettagli

DIPARTIMENTO DI MATEMATICA ED INFORMATICA 1

DIPARTIMENTO DI MATEMATICA ED INFORMATICA 1 SEDE LEGALE: Via Roma, 125-04019 - Terracina (LT) - Tel. +39 0773 70 28 77 - +39 0773 87 08 98 - +39 331 18 22 487 SUCCURSALE: Via Roma, 116 - Tel. +39 0773 70 01 75 - +39 331 17 45 691 SUCCURSALE: Via

Dettagli

Introduzione all Optimization Toolbox di MATLAB. Barbara Panicucci Massimo Pappalardo Mauro Passacantando

Introduzione all Optimization Toolbox di MATLAB. Barbara Panicucci Massimo Pappalardo Mauro Passacantando Introduzione all Optimization Toolbox di MATLAB Barbara Panicucci Massimo Pappalardo Mauro Passacantando Indice 1 Introduzione a MATLAB 5 1.1 Avviare MATLAB................................. 5 1.2 Come

Dettagli

Fondamenti di Automatica

Fondamenti di Automatica Fondamenti di Automatica Cenni su Matlab (e toolbox Control Systems + Symbolic) Dott. Ingg. Marcello Bonfè e Silvio Simani Dipartimento di Ingegneria - Università di Ferrara Tel. +39 0532 974839 / 974844

Dettagli

Funzioni definite dall utente: sintassi

Funzioni definite dall utente: sintassi Funzioni definite dall utente: sintassi Definizione di funzione: In un M-file, il cui nome è (bene che sia vedi diapo successive): funcion_name.m Variabili di uscita. Se è una sola variabile, le [, e ]

Dettagli

ELEMENTI DI STATISTICA PER IDROLOGIA

ELEMENTI DI STATISTICA PER IDROLOGIA Carlo Gregoretti Corso di Idraulica ed Idrologia Elementi di statist. per Idrolog.-7//4 ELEMETI DI STATISTICA PER IDROLOGIA Introduzione Una variabile si dice casuale quando assume valori che dipendono

Dettagli

Laboratorio di Matlab

Laboratorio di Matlab Laboratorio di Matlab Rudy Manganelli Dipartimento di Ingegneria dell Informazione, Università di Siena manganelli@dii.unisi.it http://www.dii.unisi.it/ control/matlab/labmatlab.html Luglio 2008 DII -

Dettagli

SciPy. Programmazione Orientata agli Oggetti e Scripting in Python

SciPy. Programmazione Orientata agli Oggetti e Scripting in Python SciPy Programmazione Orientata agli Oggetti e Scripting in Python SciPy: Informazioni di Base Libreria di algoritmi e strumenti matematici Fornisce: moduli per l'ottimizzazione, per l'algebra lineare,

Dettagli

FON DAMEN TI DI IN FORMATICA

FON DAMEN TI DI IN FORMATICA Università di Salerno Corso di FONDAMENTI DI INFORMATICA Corso di Laurea Ingegneria Meccanica & Ingegneria Gestionale Mat. Pari Docente : Ing. Secondulfo Giovanni Anno Accademico 29-21 UNITÀ IV A GRAFICA

Dettagli

Metodi Stocastici per la Finanza

Metodi Stocastici per la Finanza Metodi Stocastici per la Finanza Tiziano Vargiolu vargiolu@math.unipd.it 1 1 Università degli Studi di Padova Anno Accademico 2011-2012 Lezione 6 Indice 1 Il metodo bootstrap 2 Esercitazione 3 Interpolazione

Dettagli

Richiesta pagina PHP (es: index.php)

Richiesta pagina PHP (es: index.php) PHP PHP = personal home page SERVER Richiesta pagina PHP (es: index.php) Server Web (Apache) in ascolto sulla porta 80, si accorge che la pagina richiesta è una pagina PHP in base all'estensione o con

Dettagli

Introduzione a SAGE Math

Introduzione a SAGE Math Introduzione Espressioni Funzioni Plot Stefano Zambon Esercitazione di Corsi di Laurea in Matematica Applicata e Informatica Multimediale Università degli Studi di Verona Marzo 2009 Introduzione Espressioni

Dettagli

Foglio elettronico (StarOffice)

Foglio elettronico (StarOffice) Modulo Foglio elettronico (StarOffice) Modulo - Foglio elettronico, richiede che il candidato comprenda il concetto di foglio elettronico e dimostri di sapere usare il programma corrispondente. Deve comprendere

Dettagli

Lezione 4 Introduzione a Microsoft Excel Parte Prima

Lezione 4 Introduzione a Microsoft Excel Parte Prima Lezione 4 Introduzione a Microsoft Excel Parte Prima Cenni preliminari... 1 Elementi sullo schermo... 2 Creazione di una cartella di lavoro... 3 Utilizzo di celle e intervalli... 3 Gestione della cartella

Dettagli

DNA sequence alignment

DNA sequence alignment DNA sequence alignment - Introduzione: un possibile modello per rappresentare il DNA. Il DNA (Acido desossiribonucleico) è una sostanza presente nei nuclei cellulari, sia vegetali che animali; a questo

Dettagli

Appunti delle esercitazioni di Ricerca Operativa

Appunti delle esercitazioni di Ricerca Operativa Appunti delle esercitazioni di Ricerca Operativa a cura di P. Detti e G. Ciaschetti 1 Esercizi sulle condizioni di ottimalità per problemi di ottimizzazione non vincolata Esempio 1 Sia data la funzione

Dettagli

Introduzione alla Teoria degli Errori

Introduzione alla Teoria degli Errori Introduzione alla Teoria degli Errori 1 Gli errori di misura sono inevitabili Una misura non ha significato se non viene accompagnata da una ragionevole stima dell errore ( Una scienza si dice esatta non

Dettagli

MINIMI QUADRATI. REGRESSIONE LINEARE

MINIMI QUADRATI. REGRESSIONE LINEARE MINIMI QUADRATI. REGRESSIONE LINEARE Se il coefficiente di correlazione r è prossimo a 1 o a -1 e se il diagramma di dispersione suggerisce una relazione di tipo lineare, ha senso determinare l equazione

Dettagli

FONDAMENTI DI AUTOMATICA / CONTROLLI AUTOMATICI

FONDAMENTI DI AUTOMATICA / CONTROLLI AUTOMATICI FONDAMENTI DI AUTOMATICA / CONTROLLI AUTOMATICI Guida alla soluzione degli esercizi d esame Dott. Ing. Marcello Bonfè Esercizi sulla scomposizione di modelli nello spazio degli stati: Gli esercizi nei

Dettagli

estratto da Competenze assi culturali Raccolta delle rubriche di competenza formulate secondo i livelli EFQ a cura USP Treviso Asse matematico

estratto da Competenze assi culturali Raccolta delle rubriche di competenza formulate secondo i livelli EFQ a cura USP Treviso Asse matematico Competenza matematica n. BIENNIO, BIENNIO Utilizzare le tecniche e le procedure del calcolo aritmetico ed algebrico, rappresentandole anche sotto forma grafica BIENNIO BIENNIO Operare sui dati comprendendone

Dettagli

Aplusix II. Manuale dell utente

Aplusix II. Manuale dell utente Aplusix II Versione 1.2 Febbraio 2009 Manuale dell utente INDICE 1. TAVOLA SINOTTICA 2 2. INTRODUZIONE 3 3. ACCESSO 3 4. PRIMO UTILIZZO 3 5. SECONDO UTILIZZO 5 6. TERZO UTILIZZO 6 7. L ATTIVITA ESERCITAZIONE

Dettagli

MATLAB - Introduzione Enrico Nobile. 2 a Parte. MATLAB - Introduzione E. Nobile - DINMA - Sezione di Fisica Tecnica, Università di Trieste.

MATLAB - Introduzione Enrico Nobile. 2 a Parte. MATLAB - Introduzione E. Nobile - DINMA - Sezione di Fisica Tecnica, Università di Trieste. Enrico Nobile 2 a Parte 1 M-files MATLAB può eseguire una serie di comandi memorizzati su file; Tali files sono chiamati M-files, poiché devono avere l estensione.m (es. tridia.m); L utilizzo di MATLAB

Dettagli

OBIETTIVI SPECIFICI DI APPRENDIMENTO

OBIETTIVI SPECIFICI DI APPRENDIMENTO Disciplina:... Anno scolastico: 20.../20... Classe/i :... Docente:... DI APPRENDIMENTO SEZIONE 1 Premesse matematiche Nozioni fondamentali sui sistemi di numerazione Sistemi di numerazione in base diversa

Dettagli