Informatica per Scienze Geologiche LT a.a

Slides:



Advertisements
Presentazioni simili
Array (vettori) In linguaggio C / C++.
Advertisements

Introduzione ad Array e Funzioni 2IC/2ID – a. s.2012/13.
Creazione di matrici Delimititatore di riga Delimititatore di matrice
VETTORI: DEFINIZIONI Se ad una grandezza fisica G si associa una direzione ed un verso si parla di vettori: ✔ Le grandezze fisiche possono essere di due.
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.
INTRODUZIONE A MATLAB/OCTAVE MANOLO VENTURIN UNIVERSITÀ DEGLI STUDI DI PADOVA DIP. DI MATEMATICA PURA ED APPLICATA A. A. 2007/2008.
.  I tipi di dati non primitivi sono gli array, le struct e le union.  Gli array sono degli aggregati di variabili dello stesso tipo.  La dichiarazione.
Informatica per Scienze Geologiche LT a.a
Informatica per Scienze Geologiche LT a.a
Informatica per Scienze Geologiche LT a.a
Informatica per Scienze Geologiche LT a.a
Informatica per Scienze Geologiche LT a.a
Java World Matrici.
Valutazione dell’incertezza associata alla mappa acustica dinamica di Milano Giovanni Zambon; Roberto Benocci; Maura Smiraglia; H. Eduardo Roman.
11. Lettura e Scrittura di file in Matlab
Informatica per Scienze Geologiche LT a.a
Informatica per Scienze Geologiche LT a.a
Gli array Moreno Marzolla
PRINCIPALI STRUTTURE DEI DATI
Funzioni di due variabili
DISTRIBUZIONI TEORICHE DI PROBABILITA’
Richiami di Algebra Matriciale
Sistema di riferimento su una retta
DEM da laser-scan: rappresentazione contour in qGis
MATRICI (ARRAY) IN MATLAB/OCTAVE
FORMULE E FUNZIONI SU EXCEL
Informatica per Scienze Geologiche LT a.a
Tipo di dato: array Un array è un tipo di dato usato per memorizzare una collezione di variabili dello stesso tipo. Per memorizzare una collezione di 7.
La Statistica Istituto Comprensivo “ M. G. Cutuli”
Fisica: lezioni e problemi
Esercitazione di Statistica Economica
Appunti di analisi matematica: Integrale Definito
Programmazione lineare : Disequazioni lineari e Sistemi di Disequazioni lineari
realizzato dal prof.Conti Riccardo
Richiami di Algebra Matriciale
Informatica per Scienze Geologiche LT a.a
Analisi di Immagini e Dati Biologici
Java World Cicli e Array.
INTRODUZIONE A EXCEL Il foglio elettronico o foglio di calcolo è una tabella che contiene parole e numeri che possono essere elaborati applicando formule.
Corso Java Cicli e Array.
Impariamo a conoscere le Matrici
Corso Java Matrici.
Matrici Definizioni Matrici Rettangolari Quadrate 02/01/2019
Cammini di costo minimo su un grafo pesato
COME CARICARE IL PIANO STUDI E LE ATTIVITA’ A SCELTA
Process synchronization
Informatica per Scienze Geologiche LT a.a
I fogli elettronici Microsoft Excel.
Esercitazione sulle modalità
ANALISI DI REGRESSIONE
Operazioni per caricare dei documenti sul Portale
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica
Java Matrici.
Process synchronization
Le stringhe in C++ Laboratorio 26 Aprile Dott. Serena Villata
Programmazione e Laboratorio di Programmazione
Programmazione e Laboratorio di Programmazione
Programmazione e Laboratorio di Programmazione
Richiami di Algebra Matriciale
Programmazione e Laboratorio di Programmazione
Array e Stringhe Linguaggio C.
Array (vettori) In linguaggio C / C++.
Ricerca 01/08/2019 package.
Corso di Laurea in Farmacia Dipartimento di Scienze del Farmaco
La programmazione strutturata
Corso di Fondamenti di Informatica
Algoritmi di ordinamento
Corso di Fondamenti di Informatica
Corso di Fondamenti di Informatica
Transcript della presentazione:

Informatica per Scienze Geologiche LT a.a.2017-2018 Introduzione all’utilizzo di metodologie informatiche nella Geologia Parte B Docente: Prof. Carla Braitenberg, Dipartimento Matematica e Geoscienze, Via Weiss 1, Università di Trieste E-mail: berg@units.it Tel. 040 5582258

Inizializzazione di array con valori costanti »o=ones(1,10) Vettore riga, con 10 elementi, pari a 1. »z=zeros(23,1) Vettore colonna con 23 elementi, pari a 0 »r=rand(1,45) Vettore riga, 45 elementi (numeri casuali compresi nell’intervallo [0,1]) »n=nan(1,69) Vettore riga di valori NaN (utile per definire variabili non-inizializzate)

Inizializzazione automatica Creare array di valori equi-distanziati >> x=linspace(0,10,5) Da 0 a 10 (incluso), con 5 valori Equivalente, ma diamo l’intervallo: >>x1 = 0:2:10 Da 0 a 10 (minore o uguale), intervallo pari a 2 >> x2 = 0:10 Se non viene specificato l’intervallo, viene assunto intervallo pari 1 Intervallazione logaritmica: logspace >> x=logspace(1,4)

Indirizzamento di un array Definito un array c, vorremo indirizzare il contenuto. c=[ 100 102 104 105] c(1) c(2) c(3) c(4) L’indirizzo puo’ essere uno scalare oppure un vettore. Se vettore, il risultato e’ della stessa lunghezza. z=[4 6 9 11 13 15] a=z(1:3) b=z(3:end)

Indicizzazione di array bidimensionali Un array 2D (o detta anche matrice) puo’ essere indicizzata dalle posizioni di riga e colonna, oppure da un indice lineare unico che segue una numerazione ben definita e codificata degli elementi dell’array. L’indice cresce lungo le colonne, partendo dalla prima colonna. La selezione di una parte di una matrice avviene selezionando un intervallo di indici: >> A=rand(6) % matrice 6 x 6 di numeri casuali >> B=A(1:3,1:2) % seleziona la parte superiore sinistra >> C=A([1 4 6],[1 3 4]) % seleziona alcune righe e colonne

Selezionare colonna e riga completa di un array >> A=rand(3) A = 0.9172 0.7537 0.0759 0.2858 0.3804 0.0540 0.7572 0.5678 0.5308 >> B=A(2, :) B = 0.2858 0.3804 0.0540 >> C=A(:,2) C = 0.7537 0.3804 0.5678

Indicizzazione secondo criteri logici E’ possibile definire gli indici su base di risultati di un criterio di ricerca sui valori dell’array oppure su ricerche applicate sugli indici stessi. Esempio: L’array Temperatura(4,1200) sia un array contenente la data (anno, mese, giorno) e la temperatura misurata in una stazione per un periodo di diversi anni. Vorremmo selezionare le date nelle quali la temperatura sia stata maggiore di 35°C, minore di -10°C, e vorremmo trovare la data della temperatura piu’ bassa in tutto l’intervallo di tempo. Illustriamo i comandi di linea su un array monodimensionale di prova. Si potranno poi applicare gli stessi comandi al problema della temperatura o ad altro problema analogo.

Indicizzazione secondo criteri logici test =[ 20 19 18 17 28 29 21 25 ] Per il valore minimo e massimo, e relativo indice: [minT, minK]=min(test) ; [maxT, maxK]=min(test); Per trovare gli indici dei valori maggiori o uguali una data soglia: K=find(test ==18) Per trovare gli indici nel quale i valori sono nella norma: Kmedia= find (test >18 & test < 28]

Grafico di una sequenza Un grafico di una serie di valori, come quelli della temperatura richiede una serie di coppie di valori, x e y. >>x=linspace(0,20,20); >>y=3*sin(2*pi/ 10 *x); >>plot(x,y); >>title('Sinusoide'); >>xlabel('x(m)’; >>ylabel('y(m)');

Dalla scheda precedente. Per migliorare il grafico, e’ necessario aumentare la lnghezza del vettore x ed y. Attenzione: x,y devono essere array della stessa lunghezza.

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)');