Corso IFTS Tecnico Superiore per il monitoraggio e la Gestione del Territorio e dell'Ambiente 2010-2011.

Slides:



Advertisements
Presentazioni simili
Training On Line - CONP. 2 Richiesta Da Menu: Conferimenti ad inizio anno termico > Agosto > Pluriennali > Nuova Richiesta Si accede alla pagina di Richiesta.
Advertisements

Dipartimento di Ingegneria Idraulica e Ambientale - Universita di Pavia 1 Caduta non guidata di un corpo rettangolare in un serbatoio Velocità e rotazione.
LINGUAGGIO DI PROGRAMMAZIONE C
Laboratorio Processi Stocastici
Dipartimento di Matematica
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Array, matrici Marco D. Santambrogio – Ver. aggiornata al 21 Marzo 2013.
Mat_Insieme Lavoro di Gruppo Prodotti Notevoli
Capitolo 8 Sistemi lineari.
MATLAB Cristina Campi
MATLAB.
MATLAB.
Introduzione a MATLAB Stefano Vigogna Dipartimento di Matematica
MATLAB. Outline Grafica 2D Esercizi Grafica 3D Esercizi.
MATLAB.
MATLAB.
MATLAB. Scopo della lezione Programmare in Matlab Funzioni Cicli Operatori relazionali Esercizi vari.
Dipartimento di Matematica
MATLAB Stefano Gagliardo
COORDINATE POLARI Sia P ha coordinate cartesiane
LE MATRICI.
Frontespizio Economia Monetaria Anno Accademico
1 a lezione - laboratorio a.a Corso di Laurea Ingegneria MECCANICA.
2 a lezione - laboratorio a.a Corso di Laurea Ingegneria MECCANICA.
3 a lezione - laboratorio a.a Corso di Laurea Ingegneria MECCANICA.
Lez. 3 - Gli Indici di VARIABILITA’
esponente del radicando
FUNZIONI DI BIBLIOTECA
Linguaggio MATLAB: costrutti tipici (IF,WHILE…)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 5 – Info B Marco D. Santambrogio – Riccardo Cattaneo –
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Stringhe e tipi di dati strutturati Marco D. Santambrogio – Ver. aggiornata al.
Canale A. Prof.Ciapetti AA2003/04
MATLAB. Annalisa Pascarella
MATLAB. …oggi… Programmare in Matlab Programmare in Matlab m-file m-file script script Funzioni Funzioni Cicli Cicli Operatori relazionali Operatori relazionali.
MATLAB. Annalisa Pascarella
MATLAB.
MATLAB. …oggi… Programmare in Matlab Programmare in Matlab Funzioni Funzioni Cicli Cicli Operatori relazionali Operatori relazionali Indipendenza lineare,
MATLAB.
MATLAB. …oggi… Programmare in Matlab Programmare in Matlab Funzioni Funzioni Cicli Cicli Operatori relazionali Operatori relazionali Esercizi vari Esercizi.
Soluzione FEM di problemi parabolici
FEM -2 Gabriella Puppo.
NUMERI RELATIVI.
Funzioni matematico – statistiche I comandi matematici di più comune utilizzo, applicabili a scalari e matrici, sono: Sqrt(x), che calcola la radice quadrata.
Creazione di matrici Delimititatore di riga Delimititatore di matrice
Il linguaggio Fortran 90: 4. Array: Vettori e Matrici
1 Sistemi Digitali. 2 Definizione Analog Waveform Time Voltage (V) 0 5 Digital Waveform Time Voltage (V)
Algebra matriciale e linguaggio matriciale in MATLAB
Cos’è un problema?.
1a-2a lezione di laboratorio
Introduzione alle basi di dati
INTRODUZIONE A MATLAB.
MATRICI classe 3 A inf (a.s ).
Università degli Studi di Bari Laurea in Chimica Di spense di Informatica - Dott. F. Mavelli Programmare in Matlab Funzioni di Libreria Funzioni definite.
1 Negozi Nuove idee realizzate per. 2 Negozi 3 4.
Lezione 3 Vettori e Matrici.
Dalle potenze ai numeri binari
QUIZ – PATENTE EUROPEA – ESAME WORD
Diagrammi 2D e 3D Funzioni di ordine superiore
BIOINFO3 - Lezione 201 Come in ogni corso di introduzione ad un linguaggio di programmazione, proviamo a scrivere lormai celebre primo programma di prova.
Sviluppare un programma in C che, dato un array da 100 elementi interi caricato con numeri casuali compresi tra [10,100], sia in grado di cercare il valore.
File e Funzioni Si possono distinguere tre tipi di file che vengono utilizzati in MATLAB: M-file: hanno estensione .m e in essi vengono memorizzati i.
Esercitazione 1 - Introduzione Matlab. MATrix LABoratory Command window Current Directory Comandi recenti Variabili correnti Contenuto cartella corrente.
Numeri Interi senza segno
Lezione 1: Introduzione all’uso di Matlab
Il numero più grande Accademia dei Lincei
A.P. cat. B - 1 Per chi vuole: Libro di testo D.P. Curtis, K. Foley, K. Sen, C. Morin Informatica di base 2° edizione Mc Graw-Hill Companies.
Esercitazione 1 - Introduzione Matlab. MATrix LABoratory Command window Current Directory Comandi recenti Variabili correnti Contenuto cartella corrente.
Analisi di Immagini e Dati Biologici Introduzione al linguaggio di MATLAB/OCTAVE Parte 2 16 L5.
INTRODUZIONE A MATLAB Sara Poltronieri. Avvio del programma Avvio di Matlab (Windows) Start  Programmi  Matlab (o icona) Avvio di Matlab (Linux) terminale.
Definizioni preliminari Sommario - Caratteristiche Principali – Assegnazione di variabili - Scrittura e manipolazione di matrici e vettori - Funzioni predefinite.
Prof. Cerulli – Dott. Carrabs
Transcript della presentazione:

Corso IFTS Tecnico Superiore per il monitoraggio e la Gestione del Territorio e dell'Ambiente

Teoria 1° lezione (3h): Nozioni basilari sul linguaggio di programmazione MATLAB Operazioni su vettori e matrici M-files e m-functions Funzioni principali di matematica e statistica 2° lezione (3h): Operatori relazionali Operatori logici Iteratori Polinomi Interpolazione Gestione dei files 3° lezione (3h): Elementi di grafica 4° lezione (3h): despiking trend 5° lezione (3h): Analisi serie temporali Programma del corso Corso IFTS Ilaria Pietroni 2 Esercitazioni 1° esercitazione (1h): Nozioni base 2° esercitazione (1h): Iteratori e operatori logici 3° esercitazione (1h): Gestione file Interpolazione 4° esercitazione (2h): Plot 5° esercitazione (1h): despiking 6° esercitazione (3h): Tesina finale

Corso IFTS Ilaria Pietroni Nozioni basilari su MATLAB Operazioni su vettori e matrici M-files e m-functions Funzioni principali di Matematica e Statistica

MATLAB è un programma ad alte prestazioni per il calcolo tecnico e scientifico, ed e' anche un linguaggio basato su espressioni che rende molto facile la programmazione. È usato nella ricerca scientifica e nella risoluzione di problemi di ingegneria effettua tutte le operazioni in doppia precisione. E' un programma incredibilmente duttile, facile da apprendere, facile da usare, velocissimo nei calcoli, opera con le più perfezionate librerie esistenti, include inoltre la visualizzazione fornendo figure a colori e ogni tipo di grafici bi e tridimensionali. Corso IFTS Ilaria Pietroni Generalità su MATLAB

Corso IFTS Ilaria Pietroni 5 MATLAB è un sistema software interattivo per Calcolo Sviluppo di algoritmi Visualizzazione e grafica Analisi ed elaborazione di dati Simulazione e modellazione Programmazione in un proprio linguaggio

MATLAB 6.5 Corso IFTS Ilaria Pietroni 6

Development Environment Il desktop di Matlab include la Command Window (finestra dove, al prompt di Matlab, si possono digitare direttamente i comandi); un’altra finestra col “diario” dei comandi dati in precedenza( Command History); un elenco dei componenti installati; browsers per accedere all’help, ecc.. Oltre a lavorare da linea comandi, l’utente può accedere a vari strumenti specialistici che si presentano come Grafical User Interfaces (GUIs) Corso IFTS Ilaria Pietroni 7

Corso IFTS Ilaria Pietroni 8 Barra dei menu e current directory Current directory

Workspace Corso IFTS Ilaria Pietroni 9 L’ambiente di lavoro MatLab fornisce un set di strumenti che consentono di usare files e functions di Matlab. Tramite tali strumenti si manipolano, nel cosiddetto worksapce di MatLab (che ospita l’insieme delle variabili definite in un dato istante di una sessione di lavoro), le variabili stesse; si importano ed esportano dati nel e dal workspace, ecc..

Corso IFTS Ilaria Pietroni 10 Editor

Corso IFTS Ilaria Pietroni 11 Command History

Corso IFTS Ilaria Pietroni 12 Command window

Help Corso IFTS Ilaria Pietroni 13 Uno strumento comodo e veloce per imparare ad utilizzare le funzioni e le routine di MATLAB è l'help in linea esso è suddiviso in diverse parti:  Uso del comando con eventuali opzioni.  Cenni alla implementazione del comando (molto utile per essere sicuri che una data funzione con un nome a noi familiare svolga il compito da noi richiesto).  Eventuale esempio di utilizzo.  Funzioni correlate.

Scaricare FreeMat 4.0 Corso IFTS Ilaria Pietroni 14

Corso IFTS Ilaria Pietroni Nozioni basilari su MATLAB M-files e m-functions Funzioni principali di matematica e Statistica Operazioni su vettori e matrici

MatLab sta per “MATrix LABoratory” ed in esso tutte le variabili sono matrici L’elemento di base è una matrice che non richiede dimensionamento. Corso IFTS Ilaria Pietroni 16

Matrici e vettori Matrice: è uno schieramento rettangolare di oggetti Le righe orizzontali di una matrice sono chiamate righe, mentre quelle verticali sono le colonne. In generale, una matrice è una matrice con m righe e n colonne, dove m e n sono interi positivi fissati. L’elemento posizionato alla riga i-esima e alla colonna j-esima si indica con: a ij oppure con a(i,j). I vettori possono essere considerati matrici molto semplici, aventi una sola riga o una sola colonna, si parla anche di matrice riga e matrice colonna. Una matrice in cui m=n si dice quadrata. Gli elementi a(i,i) costituiscono la diagonale principale della matrice. Corso IFTS Ilaria Pietroni

Algebra delle matrici: La somma di due matrici A e B con m righe ed n colonne è la matrice (A + B) definita nel modo seguente: (A + B) i,j : = A i,j + B i,j Prodotto: La moltiplicazione per uno scalare è un'operazione che, data una matrice A ed un numero c (detto scalare), costruisce una nuova matrice, il cui elemento è ottenuto moltiplicando l'elemento corrispondente di A per c: (cA) i,j : = cA i,j La moltiplicazione tra due matrici A e B è un'operazione più complicata delle precedenti. A differenza della somma, non è definita moltiplicando semplicemente gli elementi aventi lo stesso posto. La definizione di moltiplicazione che segue è motivata dal fatto che una matrice modellizza una applicazione lineare, e in questo modo il prodotto di matrici corrisponde alla composizione di applicazioni lineari. La moltiplicazione è definita soltanto se le matrici A e B sono t.c. il numero p di colonne di A coincide con il numero p di righe di B. Il risultato è una matrice C di tipo: C i,j = A i,1 B 1,j + A i,2 B 2,j + … A i,n B n,j Il prodotto è chiamato prodotto riga per colonna. Corso IFTS Ilaria Pietroni

Corso IFTS Ilaria Pietroni 19 Il determinante di una matrice è una funzione che associa ad ogni matrice quadrata uno scalare utile per sintetizzare alcune proprietà algebriche della matrice. La matrice trasposta è una matrice in cui le righe e le colonne della matrice originale sono invertite: (A T ) i,j = A j,i La matrice inversa di una matrice quadrata A è la matrice A -1 tale che A A -1 =I Con I= matrice identità.

Corso IFTS Ilaria Pietroni 20 Il determinante di una matrice è una funzione che associa ad ogni matrice quadrata uno scalare determinato nel modo seguente: Ed utile per sintetizzare alcune proprietà algebriche della matrice. La matrice trasposta è una matrice in cui le righe e le colonne della matrice originale sono invertite: (A T ) i,j = A j,i

Corso IFTS Ilaria Pietroni Variabili numeriche MATLAB si basa sulle matrici ed ogni variabile che utilizza è considerata come matrice Ad es. c=2; È una matrice ad una riga ed una colonna Per questo nel seguito parleremo essenzialmente di matrici.

I nomi delle variabili possono essere lunghi fino ad un massimo di 19 caratteri alfanumerici, con il primo obbligatoriamente alfabetico. Corso IFTS Ilaria Pietroni Prova_mat: a=[1 2 3] matrice ad 1 riga e 3 colonne b=[1;2;3] matrice ad 3 righe e 1 colonna d=[1,2;3,4;nan,0] a(2)=8 cambio valore all'elemento di posto 2 di a b(5)=4 estende la matrice b c=[]; matrice vuota

Corso IFTS Ilaria Pietroni d(1,:)=[] elimina la prima riga d([1,2],:)=d([2,1],:) cambia la 1 e 2 riga di d. n=length(d); massima dimensione di d d(:,1)=d(n:-1:1,1) inverte gli elementi della prima colonna di d size(a) Numero di righe e colonne di a a=a' trasposta di a size(a)

Corso IFTS Ilaria Pietroni e=[ ] continua alla riga successiva g=1:10 f=[b;4] Concatenazione verticale e(end) E=[2 3] e D=d(:); rende la matrice un vettore colonna aggiungendo ogni colonna sotto la precedente A=a(:); rende il vettore un vettore colonna Attenzione: i nomi delle variabili sono case sensitive: si distingue cioè tra lettere maiuscole e minuscole!!!

Corso IFTS Ilaria Pietroni Concatenazione: Tra matrici: A=[3,5,16]; B=[9 7 22]; Orizzontale: O=[A, B]; O_2=[A B]; >> Verticale: V=[A;B]; >> A e B devono avere lo stesso numero di righe A e B devono avere lo stesso numero di colonne

% - denota un commento. - punto dei decimali operazioni elemento per elemento nelle strutture per separare i campi, - separa gli indici di matrice e gli argomenti di una funzione, ma anche diversi comandi ; - all’interno di [ ] separa diverse righe; separa i comandi evitando la stampa del risultato : - crea vettori, iterazioni [ ] - sono usate per fare vettori e matrici; la virgola e lo spazio separano elementi della stessa riga, il punto e virgola separa le diverse righe. Corso IFTS Ilaria Pietroni ( ) - usate per determinare la precedenza in un’operazione aritmetica includere l’argomento di una funzione determinare l’elemento/i di una matrice o vettore ‘ - utilizzato per fare la trasposta di una matrice per scrivere stringhe... continua alla riga successiva Sommario simboli:

Corso IFTS Ilaria Pietroni Sommario indicizzazione:

Corso IFTS Ilaria Pietroni Prova_string: a=['2','d';'w','e'] w=str2num('2') w+3 a+2 b=[1 2; 8,9]; num2str(b) Il testo in MATLAB è sempre inserito tra apici.

Corso IFTS Ilaria Pietroni Per visualizzare stringhe o messaggi si usa la funzione disp. Es.: disp('Premere un tasto'); Concatenazione: S=[‘s1’,’s2’,’s3’]; D=[‘d1’,’d2’,’d3’]; Orizzontale O=[S D] O2=[S,D] O3=strcat(S,D) Verticale V=[S; D] V2=strvcat(S,D) Devono avere lo stesso numero di colonne cioè di caratteri Devono avere lo stesso numero di righe cioè di caratteri

Corso IFTS Ilaria Pietroni Prova_strut: a=[1 2 3; 4 5 6; 7 8 9]; b.i(1).j(2).dat=a(:,1); Una struttura è una matrice I cui elementi sono accessibili attraverso campi testuali; Ogni camp opuò essere di diverso tipo e di dimensioni diverse.

Corso IFTS Ilaria Pietroni Operazioni aritmetiche:

Corso IFTS Ilaria Pietroni Sugli scalari: a=5 n=2 Addizione s=a+n Sottrazione d=a-n Moltiplicazione m=a*n Divisione a destra d1=a/n Divisione a sinistra d2=a\n prova_opera:

Corso IFTS Ilaria Pietroni Elevamento a potenza p=a^n Precedenze: parentesi & da sn a ds prec=(a+n)*n/2-a+((n^.5)-1) Sui vettori: S=[1,2,5], G=[0,6,9], V=[9,5,8;1,4,6;7,7,2]; v=V(1,:); Addizione mad=G+S pad=G+2 Sottrazione dso=G-S pso=S-2 prova_opera:

Corso IFTS Ilaria Pietroni Sottrazione pso=S-2 Moltiplicazione Righe per colonne mdi=S*V rxc=V*V Ogni elemento per uno scalare mscal=V*2 mpot2=V.*V (equivalente a V.^2) Divisione sdi= S/V sdi = S*inv(V) prova_opera: S=[1,2,5], G=[0,6,9], V=[9,5,8;1,4,6;7,7,2]; v=V(1,:);

Corso IFTS Ilaria Pietroni Divisione ddm=v./S vdm=a./V ogni elemento diviso uno scalare sscal=V/2 sdm=S.\v Potenza potenza di ogni elemento mpot=V.^2 rpot=S.^2 prova_opera: a=5 S=[1,2,5], G=[0,6,9], V=[9,5,8;1,4,6;7,7,2]; v=V(1,:);

Corso IFTS Ilaria Pietroni Potenza esponente pari a S npot=2.^S righe per colonne rxc1=V^2 Valori speciali p_greco=pi i j nan Inf ans risposta più recente prova_opera:

Corso IFTS Ilaria Pietroni a=4; b=5; b diviso a c=a\b a diviso b d=a/b Arrotondamenti: intero più vicino e=round(c) intero più vicino verso zero f=fix(c) intero più vicino verso meno infinito g=floor(c) intero più vicino verso più infinito h=ceil(c) resto di c [b-floor(c)*a] l=rem(b,a) prova_divisioni:

Comandi di uso generale who: elenco delle variabili definite in memoria whos: informazioni su tutte le variabili in memoria what: elenco di tutte le funzioni MATLAB nell’area di lavoro (estensione.m) e dei file di dati che sono stati salvati (estensione.mat) Corso IFTS Ilaria Pietroni 38

Cancellare variabili Se nel workspace sono presenti tre variabili x, y e z e si vuole eliminare una variabile non più utile (risparmiare memoria non fa mai male specie per calcoli che richiedono matrici e vettori di grandi dimensioni) esiste il comando clear: >> clear z Si noti che la variabile z non è più presente nel workspace. Quando si vuole ripulire l'intero workspace è sufficiente digitare il comando clear seguito da invio: >> clear ATTENZIONE. I dati persi non potranno piµu essere recuperati! Corso IFTS Ilaria Pietroni 39

Corso IFTS Ilaria Pietroni Richiamare i comandi clc: per pulire la finestra di comando richiama l’ultimo comando digitato string+ richiama l’ultimo comando digitato che inizia con tale stringa oppure usare il command history browser

Esercizio n.1 Corso IFTS Ilaria Pietroni 41 a) Scrivere una matrice riga a, che abbia come elementi le potenze di 3 con esponente un numero da 0 a 20 con passo 2 b) Cambiare il valore dell'elemento 2 di a con 10 c) Verificare le dimensioni di a d) Scrivere la matrice colonna, b, che abbia come elementi i numeri naturali da 1 alla dimensione di a e) Sommare elemento per elemento le matrici a e b in modo da ottenere una matrice riga f) Sommare elemento per elemento le matrici a e b in modo da ottenere una matrice colonna g) Scrivere la matrice c trasposta di b e d trasposta di a

Esercizio n.1 Corso IFTS Ilaria Pietroni 42 h) Concatenare le matrici a e c orizzontalmente e b e d verticalmente i) Sottrarre elemento per elemento le matrici a e c l) Moltiplicare elemento per elemento le matrici a e c m) Verificare le dimensioni della matrice precedente n) Dividere elemento per elemento le matrici b e d o) Approssimare intero più vicino verso meno infinito la matrice precedentemente ottenuta

Esercizio n.1 Corso IFTS Ilaria Pietroni 43 p) Ripetere i punti (e,g,i,l,m,n,o) per le due matrici A 2x2,B 2x2 i cui elementi siano: a 11 =1; a 12 =5; a 21 =6; a 22 =9; [e) Sommare elemento per elemento le matrici A e B; g) Scrivere la matrice C trasposta di B; i) Sottrarre elemento per elemento le matrici A e B; l) Moltiplicare elemento per elemento le matrici A e B (chiamare la nuova matrice C); m) Verificare le dimensioni della matrice precedente; n) Dividere elemento per elemento le matrici B e A (chiamare la nuova matrice D); o) Approssimare intero più vicino verso più infinito la matrice precedentemente ottenuta.]

Esercizio n.1 Corso IFTS Ilaria Pietroni 44 q) Costruire una matrice 6x6 del tipo con a 11 =A,a 12 =B, a 21 =C, a 22 =D dove le matrici A, B, sono quelle definite al punto p, mentre le matrici C,D sono quelle ottenute dalla moltiplicazione e divisione delle matrici A e B. r) Scrivere la matrice stringa con elementi uguali agli elementi di H

Corso IFTS Ilaria Pietroni Nozioni basilari su MATLAB Funzioni principali di matematica e Statistica Operazioni su vettori e matrici M-files e m-functions

Il linguaggio di programmazione MATLAB serve all’utente per sviluppare i propri algoritmi di calcolo, i quali vengono posti in nuovi M-files. Le espressioni matematiche coinvolgono intere matrici, per cui si ha una grande concisione nel linguaggio, con conseguente rapidità di programmazione. MATLAB dispone di un editor a cui si accede mediante il comando edit. I file prodotti con questo editor vengono salvati con l’estensione.m e sono eseguibili da MATLAB. Chiamando il file dal prompt dei comandi eseguiamo tutti i comandi in esso contenuti. Corso IFTS Ilaria Pietroni 46

Corso IFTS Ilaria Pietroni 47 Ci sono due tipi di M-files: - script - function La maggior parte del codice che produrrete sarà creato e gestito tramite M-files

Script file Uno script file è un M-file contentente una sequenza di istruzioni in linguaggio MATLAB. Creando un file myfile.m tramite l’editor, questo può essere eseguito come un comando nel prompt: >> myfile (senza estensione!) Le variabili generate da uno script sono memorizzate nel workspace della corrente sessione di matlab. Corso IFTS Ilaria Pietroni 48

Function file Possiamo aggiungere alla funzioni preesistenti, funzione costruite da noi per risolvere problemi specifici. Un function file è anch’esso un M-file, salvo che in testa ha una definition line in cui vengono definiti esplicitamente l’input e l’output: function [x,y]=myfun (par) descrizione Istruzioni; Corso IFTS Ilaria Pietroni 49

function [x,y]=myfun (par) descrizione Istruzioni; All'interno del blocco di istruzioni le variabili output vengono settati e il loro valore viene ritornato al termine della funzione stessa. Le variabili definite all'interno di una function sono LOCALI. Il blocco di linee di commento consecutive che eventualmente segue la prima linea del file viene visualizzato digitando il comando help seguito dal nome della funzione creata. Anche le function vengono salvate con estensione.m; il nome del file che le contiene deve essere lo stesso di myfun. Corso IFTS Ilaria Pietroni 50

Le funzioni : nargin e nargout Hanno come output il numero di variabili in input e output rispettivamente Corso IFTS Ilaria Pietroni 51

Esercizio n.2 Corso IFTS Ilaria Pietroni52 1) Fare script che dati pressione e temperatura calcoli la temperatura potenziale 2) Fare function che dati pressione e temperatura calcoli la temperatura potenziale La TEMPERATURA POTENZIALE (di una particella di fluido alla pressione p è la temperatura che quella particella avrebbe se fosse portata, tramite uno spostamento adiabatico ad una pressione standard di riferimento p 0, in genere 1000 millibar)è definita come: dove T è la temperatura assoluta della particella, R la costante dei gas per l'aria (R= m 2 s -2 K -1 ) e c p il calore specifico a pressione costante (cp = m 2 s -2 K -1 ).

Esercizio n.2 Corso IFTS Ilaria Pietroni53 T= [ … ]; P=[ , , , , , , , ,… , , , , , , , ,… , , , , , , , ];

Corso IFTS Ilaria Pietroni Nozioni basilari su MATLAB Funzioni principali di Matematica e Statistica Operazioni su vettori e matrici M-files e m-functions

Libreria di funzioni matematiche Algoritmi di calcolo che vanno dalle funzioni elementari, come seno e coseno, a funzioni più complicate, come ricerca degli autovalori di una matrice o FFT. Ogni Toolbox non è nient’altro che una raccolta di M-files. Tra le categorie di M-files disponibili nel pacchetto-base citiamo: Matrici e loro manipolazione; Funzioni matematiche elementari Funzioni matematiche specialistiche Analisi dati e FFT Interpolazione, polinomi Soluzione di equazioni differenziali, ecc.. Corso IFTS Ilaria Pietroni 55

Corso IFTS Ilaria Pietroni Prova_fun a=[1,5;9,6] % generali VA=abs(-2.6) LG=log(a) RQ=sqrt(9) EE=exp(2) L=log10(10^5)

Corso IFTS Ilaria Pietroni SI=sin(0.06) CO=cos(0.6) TA=tan(0.5) AS=asin(SI) p=[1:15,16:-1:1] Espressi in radianti Sind, cosd,…. in gradi

Corso IFTS Ilaria Pietroni 58 La media aritmetica di un campione è definita come: Media e mediana La mediana di un campione ordinato è definita come il valore centrale del campione, quindi un uguale numero di dati saranno prima e dopo il valore mediano.

Corso IFTS Ilaria Pietroni 59 Varianza e deviazione standard La varianza di un campione è definita come: La deviazione standard di un campione è definita come la radice quadrata della varianza:

Corso IFTS Ilaria Pietroni p=[1:15,16:-1:1] [VM,INDM]=max(p) [vm,indm]=min(p) media=mean(p) mediana=median(p) somma=sum(p) Se p è una matrice il risultato è una matrice riga che ha per colonne le medie,… degli elementi di ogni colonna

Corso IFTS Ilaria Pietroni p=[1:15,16:-1:1] mediana=median(p) somma=sum(p) prodotto=prod(p) ordine=sort(p) devstandard=std(p)

Corso IFTS Ilaria Pietroni Prova_date anno = 2004; mese = 05; giorno = 15; dat_num=datenum(anno,mese,giorno) sottintende ora zero dat_0=datestr(dat_num) dat_1=datestr(dat_num,'dd-mmm-yyyy') dat_2=datestr(dat_num,'mm/dd/yy') dat_3=datestr(dat_num,'mmm') dat_5=datestr(dat_num,'mm') dat_6=datestr(dat_num,'mm/dd‘)

Corso IFTS Ilaria Pietroni dat_7=datestr(dat_num,'dd') dat_12=datestr(dat_num,'mmmyy') dat_13=datestr(dat_num,'HH:MM:SS') dat_15=datestr(dat_num,'HH:MM') dat_19=datestr(dat_num,'dd/mm') dat_20=datestr(dat_num,'dd/mm/yy') dat_24=datestr(dat_num,'dd/mm/yyyy') Clocktotime :00

Altre funzioni predefinite Esistono poi varie funzioni predefinite per la creazione di matrici: eye(n) : matrice identità n righe n colonne zeros(m,n): matrice di 0 con m righe e n colonne ones(m,n) : matrice di 1 con m righe e n colonne rand(m,n) : matrice casuale di valori tra 0 e 1 diag(X) : se X è un vettore con n elementi, produce una matrice quadrata diagonale di dimensione n per n con gli elementi di X sulla diagonale. Se invece X è una matrice quadrata di dimensione n per n, produce un vettore di n elementi pari a quelli sulla diagonale di X. Corso IFTS Ilaria Pietroni 64

Linspace logspace Le due funzioni che possono essere utilizzate per creare vettori per le ascisse sono: x = linspace(0.01,100,1000); x = logspace(-2,2,1000); La linspace crea un vettore x di 1000 elementi compreso tra 0.01 e 100 separati linearmente. La logspace crea lo stesso vettore, con elementi separati logaritmicamente. Si osservi che i primi due parametri sono gli esponenti degli estremi dell’intervallo espressi in base 10. Corso IFTS Ilaria Pietroni 65

Esercizio n.3 Corso IFTS Ilaria Pietroni66 Scrivere una funzione che abbia come input un vettore e come output i valori: Media Deviazione standard Massimo Minimo

Esercizio n.4 Corso IFTS Ilaria Pietroni67 Fare una funzione che calcoli la mediana