Informatica per Scienze Geologiche LT a.a

Slides:



Advertisements
Presentazioni simili
MATLAB.
Advertisements

MATLAB. Outline Grafica 2D Esercizi Grafica 3D Esercizi.
MATLAB.
3 a lezione - laboratorio a.a Corso di Laurea Ingegneria MECCANICA.
MATLAB.
Trimr Gauss, tra le altre, fornisce una preziosissima funzione che risulta di estrema utilità nell’ambito matriciale. Questa funzione, chiamata trimr(x,t,b),
Esercitazione 2 – Generazione di variabili Matlab.
EQUAZIONI NON LINEARI NEWTON MANOLO VENTURIN UNIVERSITÀ DEGLI STUDI DI PADOVA DIP. DI MATEMATICA PURA ED APPLICATA A. A. 2007/2008.
1 Elementi DI INFORMATICA Università degli Studi di Cagliari Corso di Laurea in Ingegneria Elettronica Linguaggio C A.A. 2011/2012
Parte 2 Programmare in Matlab – I Sommario: Introduzione: m-file Strutture condizionali e cicli –Istruzione “if” + Operatori logici in MatlabIstruzione.
Consentono di descrivere la variabilità all’interno della distribuzione di frequenza tramite un unico valore che ne sintetizza le caratteristiche.
NUMERI ed ERRORI MANOLO VENTURIN UNIVERSITÀ DEGLI STUDI DI PADOVA DIP. DI MATEMATICA PURA ED APPLICATA A. A. 2007/2008.
INVALSI QUINTA ELEMENTARE Se volete trovare i risultati relativi alla vostra classe sul sito dell’ INVLSI dovete usare come User: MOIC82100N Password:
Informatica per Scienze Geologiche LT a.a
Statistica I Grafici Seconda Parte.
Cosa nascondono i numeri naturali? N Loretta Ferrante.
Le funzioni matematiche e il piano cartesiano
Proporzioni Nella giusta misura!.
SUMMERMATHCAMP TARVISIO, AGOSTO 2017
Algoritmi e Strutture dati a.a.2010/2011 Prof.ssa Rossella Petreschi
Giovanni Finaldi Russo Pietro Bruno
Funzioni crescenti e decrescenti
Studio di funzione.
Informatica per Scienze Geologiche LT a.a
Modellazione delle mappe di residuo
Informatica per Scienze Geologiche LT a.a
Terza Lezione → Navigare nel file System → parte 2
DISTRIBUZIONI TEORICHE DI PROBABILITA’
Script Marco D. Santambrogio –
Il concetto di derivata
I teoremi delle funzioni derivabili
Richiami di Algebra Matriciale
Corso di Segnali e Sistemi
DEM da laser-scan: rappresentazione contour in qGis
MATRICI (ARRAY) IN MATLAB/OCTAVE
Lo studio completo di una funzione
Le trasformazioni nel piano cartesiano
APPUNTI DI STATISTICA INFERENZIALE
PROGRAMMAZIONE BASH – ISTRUZIONE IF
Informatica per l’Ingegneria
La Statistica Istituto Comprensivo “ M. G. Cutuli”
ELEMENTI DI GRAFICA IN MATLAB/OCTAVE
Informatica per Scienze Geologiche LT a.a
Rapporti e proporzioni
Esercitazione di Statistica Economica
Esercitazione di Statistica Economica
Richiami di Algebra Matriciale
Informatica per Scienze Geologiche LT a.a
Process synchronization
Informatica - Prof. Gregorio Cosentino
INTRODUZIONE A EXCEL Il foglio elettronico o foglio di calcolo è una tabella che contiene parole e numeri che possono essere elaborati applicando formule.
Informatica per Scienze Geologiche LT a.a
Il sistema di numerazione decimale
Impariamo a conoscere le Matrici
32 = 9 x2 = 9 x = 3 32 = 9 √9 = 3 L’estrazione di radice
Informatica per Scienze Geologiche LT a.a
Esercitazioni corso di RETI
Esercitazione Javascript
Cominciamo a parlare di tangenti.
METODI NUMERICI PER LA RICERCA DEGLI ZERI DI UNA FUNZIONE
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica
* 07/16/96 Sez. 2: Ordinamento La consultazione di banche dati è sempre più cruciale in tutte le applicazioni dell’Informatica. Se vogliamo consultare.
Modalita’ di esame del corso Metodi del Potenziale
Richiami di Algebra Matriciale
Ricerca 01/08/2019 package.
Corso di Fondamenti di Informatica
ANALISI DEL FORBUSH Extreme Energy Events.
Script su vettori Realizza uno script che chiede in input una dimensione d e crea un vettore di d numeri interi casuali. Poi calcola la somma dei due numeri.
Corso di Fondamenti di Informatica
Corso di Fondamenti di Informatica
Transcript della presentazione:

Informatica per Scienze Geologiche LT a.a.2017-2018 Esercitazione Analisi dati Pozzo Trebiciano Parte B2 Slides preparate da Dott. Pastorutti Docente: Prof. Carla Braitenberg, Dipartimento Matematica e Geoscienze, Via Weiss 1, Università di Trieste E-mail: berg@units.it Tel. 040 5582258

Esercizio livello acqua nell’Abisso di Trebiciano Anni di osservazione: 2006-2008, un campione ogni ora. Unita’ di misura: m sopra il livello del mare. Caricare il file. Nome dell’array: liv_Trebiciano load('livello_AbissoTrebiciano_Tdec.mat'); Determinare valore medio, valore massimo e data del valore massimo Comandi necessari: max(livello_tdec): cerca il massimo sulla quinta colonna, comprendente il livello. mean(livello_tdec) std(livello_tdec)

%Max_TrebicianoWater %read the data file and find extreme value. load('livello_AbissoTrebiciano_Tdec.mat'); liv=livello_tdec; % contains the workspace liv_Trebiciano with year, month, day hour, value n=length(liv(:,1)); % extreme value [xmax, kmax] = max(liv(:,6)); tmax=liv(kmax,2:4); disp([' max value at ' ,num2str(tmax),' value= ', num2str(liv(kmax,6)),'m']); media=mean(liv(:,6)); scarto= std(liv(:,6)); disp(['average ' ,num2str(media),'m',' std= ', num2str(scarto),'m' ] );

Continua il programma: qui la parte che crea il grafico figure; plot(liv(:,1),liv(:,6)) title('Livello acqua nel pozzo Abisso Trebiciano'); xlabel('tempo in anni'); ylabel('livello (m)');

Ricerca dei massimi locali nella serie livello_AbissoTrebiciano Parte B/2 Ricerca dei massimi locali nella serie livello_AbissoTrebiciano Lo script fatto finora: Risultato: %% valori estremi load('livello_AbissoTrebiciano_Tdec_CORRETTO.mat');liv=livello_tdec; n=length(liv(:,1)); [xmax, kmax] = max(liv(:,6)); tmax=liv(kmax,2:4); disp(['max value at ' ,num2str(tmax),... ' value= ', num2str(liv(kmax,6)),'m']); media = mean(liv(:,6)); scarto = std(liv(:,6)); disp(['average ' ,num2str(media),'m',... ' std= ', num2str(scarto),'m' ] ); %% grafico figura1 = figure; assi1 = axes('Parent',figura1); plot(assi1,liv(:,1),liv(:,6)) hold on title('Livello acqua nel pozzo Abisso Trebiciano'); xlabel('tempo in anni'); ylabel('livello (m)');

Ricerca dei massimi locali nella serie livello_AbissoTrebiciano Massimo assoluto: possiamo usare xmax, kmax già calcolati prima ... [xmax, kmax] = max(liv(:,6)); scatter(assi1,liv(kmax,1),xmax) x y NB: la figura ottenuta prima non va chiusa, altrimenti:

Ricerca dei massimi locali nella serie livello_AbissoTrebiciano cercare i primi n valori più grandi: definiamo una funzione 1 2 3 4 5 6 7 function [M,I] = maxsort(in,n) M = zeros(1,n); I = M; for i=1:n [M(i),I(i)] = max(in); in(I(i)) = 0; end Salvate la function in un file con lo stesso nome della chiamata, quindi maxsort.m «Ottieni il valore M e l’indice I degli n valori più grandi di in.» Nella riga 2 vengono creati M ed I, vettori lunghi n, composti di soli zeri. Le righe da 3 a 6 appartengono a un ciclo for: ad ogni iterazione viene calcolato l’n-esimo massimo e il suo indice, quindi quell’elemento di in viene sostituito con zero.

Ricerca dei massimi locali nella serie livello_AbissoTrebiciano Usiamo la nuova funzione «maxsort» nel nostro script [massimi, indici] = maxsort(liv(:,6),100); scatter(assi1,liv(indici,1),massimi); i primi 100 valori

Ricerca dei massimi locali nella serie livello_AbissoTrebiciano Usiamo la nuova funzione «maxsort» nel nostro script [massimi, indici] = maxsort(liv(:,6),1000); scatter(assi1,liv(indici,1),massimi); Non è una strategia efficace. Potremmo calcolare i massimi in finestre di tempo, ma e’ una strategia soggettiva: devo definire inizio e lunghezza della finestra.

Ricerca dei massimi locali nella serie livello_AbissoTrebiciano Un altro metodo: calcoliamo le derivate prima e seconda Cerchiamo i punti in cui la derivata prima è zero (entro una tolleranza) la derivata seconda è negativa (concavità verso l’alto) Produciamo tre grafici sovrapposti, usando subplot Calcoliamo la derivata (numerica) con diff: step_livelli = liv(2:end,1) - liv(1:end-1,1); der1 = diff(liv(:,6)) ./ step_livelli; der2 = diff(der1); der1 = der1(1:end-1); in questa maniera usiamo il passo corretto tra due campioni, che non è costante dopo aver calcolato diff, il risultato è più corto di un elemento. Rendiamo la derivata 1° lunga quanto la derivata 2°, togliendo l’ultimo elemento (fermandoci a end-1) Dal help di matlab: diff(X), for a vector X, is [X(2)-X(1) X(3)-X(2) ... X(n)-X(n-1)].

Ricerca dei massimi locali nella serie livello_AbissoTrebiciano Approssimiamo la derivata prima «uguale a zero» entro una tolleranza (più o meno tol_der1) Approssimiamo la derivata seconda «negativa» entro una tolleranza (minore di tol_der2) Teniamo solo i massimi locali trovati che sono superiori a tol_liv tol_der1 = 1.25e3; tol_der2 = -0.001; tol_liv = 20; massimi_locali = find(and(and(and(der1<=tol_der1,der1>=-tol_der1),... der2<=tol_der2),... liv(1:end-2,6)>=tol_liv));

Ricerca dei massimi locali nella serie livello_AbissoTrebiciano Tre grafici, con subplot (livello, prima derivata, seconda derivata) figura2 = figure; AssiLivelli = subplot(4,1,[1 2]); plot(AssiLivelli,liv(:,1),liv(:,6)) hold on scatter(AssiLivelli,liv(massimi_locali,1),liv(massimi_locali,6)); AssiDer1 = subplot(4,1,3); plot(AssiDer1,liv(1:end-2,1),der1) AssiDer2 = subplot(4,1,4); plot(AssiDer2,liv(1:end-2,1),der2) linkaxes([AssiLivelli,AssiDer1,AssiDer2],'x');