Informatica per Scienze Geologiche LT a.a

Slides:



Advertisements
Presentazioni simili
Informatica Applicata al Suono Tutorial Matlab
Advertisements

Script bash I file di comandi in Linux. BASH  Bourne Again Shell  Modalità interattiva o batch (file di comandi)  Ambiente di programmazione “completo”
Fondamenti di Informatica - D. Talia - UNICAL 1 Fondamenti di Informatica FONDAMENTI DI INFORMATICA Domenico Talia
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.
Orientamento. Il Kernel Il Kernel è un programma scritto in linguaggio vicino all'hardware che ha il compito di fornire ai processi in esecuzione sul.
INTRODUZIONE A MATLAB/OCTAVE MANOLO VENTURIN UNIVERSITÀ DEGLI STUDI DI PADOVA DIP. DI MATEMATICA PURA ED APPLICATA A. A. 2007/2008.
1 Simulazione Numerica dei Fenomeni di Trasporto Necessità di introduzione dei tensori  11  12  13  23  21  22 Vogliamo descrivere in un modo che.
NUMERI ed ERRORI 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
Corso di Elementi di Informatica
IL SOFTWARE (FPwin 6.0).
© 2007 SEI-Società Editrice Internazionale, Apogeo
Informatica per Scienze Geologiche LT a.a
Informatica per Scienze Geologiche LT a.a
11. Lettura e Scrittura di file in Matlab
VISUAL BASIC.
Informatica per Scienze Geologiche LT a.a
La rappresentazione delle informazioni
Introduzione al linguaggio C
Informatica per Scienze Geologiche LT a.a
Dal problema al processo risolutivo
Terza Lezione → Navigare nel file System → parte 2
Script Marco D. Santambrogio –
Dal problema al processo risolutivo
Corso di Segnali e Sistemi
Condividere dati di Excel tramite l'esportazione in un sito di SharePoint
MATRICI (ARRAY) IN MATLAB/OCTAVE
Excel 1 - Introduzione.
Scalari e Vettori
L’AMBIENTE CODE BLOCKS E L’IO
Organizzazione fisica
JAVA usa una rappresentazione in VIRGOLA MOBILE
Informatica per Scienze Geologiche LT a.a
FORMULE E FUNZIONI SU EXCEL
6. Matlab: Introduzione all’ambiente di sviluppo
* Il Sistema Operativo GNU/Linux * Sistema Operativo e Applicazioni
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.
PROGRAMMAZIONE BASH – ISTRUZIONE IF
Informatica per l’Ingegneria
SAS® OnDemand for Academics SAS Studio
Che cosa è un problema matematico
1.
realizzato dal prof.Conti Riccardo
Informatica per Scienze Geologiche LT a.a
Classe III A A.s – 2012 Programma di Informatica
INTRODUZIONE A EXCEL Il foglio elettronico o foglio di calcolo è una tabella che contiene parole e numeri che possono essere elaborati applicando formule.
Programmare.
Informatica per Scienze Geologiche LT a.a
Derive 5 28/12/2018 Lavoro didattico per Apprendere - lezione su materia specifica di Retucci Anna - classe 3C Terza edizione.
Secondo Programma in C.
Struttura di un programma
Impariamo a conoscere le Matrici
Questionari on line GOOGLE DRIVE.
Struttura di un programma
Derive 5 di Anna Retucci 02/01/2019
Matrici Definizioni Matrici Rettangolari Quadrate 02/01/2019
Informatica per Scienze Geologiche LT a.a
I fogli elettronici Microsoft Excel.
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica
La struttura dei primi programma in C
APPUNTI SUL LINGUAGGIO C Esercizi su File e Alberi Binari
Fogli di Calcolo Elettronici
Array e Stringhe Linguaggio C.
PowerShell di Windows PowerShell è un shell che mette a disposizione un prompt interattivo e un interprete a riga di comando , per le sue caratteristiche.
Corso di Fondamenti di Informatica
Corso di Fondamenti di Informatica
Transcript della presentazione:

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

Accesso a materiale didattico moodle2

Scopo delle esercitazioni Introduzione all’utilizzo de PC a servizio della geologia In molte situazioni e’ necessaria un’analisi quantitativa di un fenomeno e la successiva rappresentazione su carta geografica Google Earth e’ un applicativo che si presta molto bene alla rappresentazione dei risultati, perche’ integra immagini da satellite con la rappresentazione di infrastrutture. Mette a disposizione una moltitudine di informazioni gia’ georefernziate. Un geologo vorra’ integrare le informazioni esistenti con i risultati di un rilevamento o di una analisi di terreno, o di un campionamento sul terreno,oppure frutto di una indagine geofisica o petrologica.

Esercitazioni Le esercitazioni illustrano le situazioni tipiche con le quali ci confrontiamo nell’ambito della Geologia. Le esercitazioni sono divise in moduli. I moduli introducono alla programmazione in script di MatLab, ed infine alla programmazione in Google Earth.

Accedere al sistema informatico Il software Matlab e’ installato su un server. In aula informatica ci sono due file di computer (seconda e terza fila di banchi) e altre file dotate di thin client. Per accedere dai computer al server, digitare le proprie credenziali di ateneo (sxxxx), quindi eseguire il programma windmg, o server dmg, che e’ necessario per collegarsi al desktop remoto, sul quale sono installati tutti i programmi dei quali necessitiamo durante il corso. Verra’ richiesta nuovamente l’autenticazione. Dai thin client eseguire start -> applications -> windows ed inserire le proprie credenziali come sopra.

Regole e consigli di lavoro La cartella documenti e’ quella personale di ogni studente e la ritrovate su qualsiasi postazione di ateneo dal quale accedete (esempio H3). La cartella ha spazio limitato, ma potete salvare i vostri elaborati su questa cartella. In caso di ulteriore necessita’ di spazio, e’ utilizzabile il disco s.

Da ricordare Non salvare niente sul desktop Il proiettore: windows p Per copiare file da usb: copia/incolla, non trascinare Alla fine: prego fare log-off due volte

Accesso per docenti

Applicazione in linguaggio MatLab Verranno sviluppati script di tipo MatLab, eseguibili in ambiente MatLab o in ambienti liberi Octave e FreeMat. Link all’emulatore MatLab Octave: http://www.gnu.org/software/octave/ http://wiki.octave.org/Octave_for_Windows Sulle macchine dell’Universita’ trovate l’installazione di MatLab e Octave. L’acquisto di una licenza studente Matlab E’ consigliata. In alternativa lo studente potra’ installare Octave sul proprio PC, ma non sara’ possibile fornire assistenza per l’installazione.

Introduzione l’ambiente di sviluppo MatLab Matlab e’ un ambiente di sviluppo molto potente della Mathworks di larghissimo utilizzo. E’ un sistema integrato per la progettazione, esecuzione e rappresentazione grafica dei risultati di un programma di lavoro. Un programma di lavoro consiste in una serie di comandi predefiniti. Uno script e’ un file contenente i comandi di linea (le routine) che vengono eseguiti in sequenza. Matlab mette a disposizione una moltitudine di routine classificati a seconda dell’applicativo, come: - analisi statistica dei dati -Soluzione di problemi numerici, di inversione, soluzone di equazioni differenziali -Acquisizione di dati di laboratoria GIS: creare mappa geografica di valori misurati in campagna, scegliere la proiezione cartografica, sovrapposizione di dati di diversa natura: Immagine satellitare, temperatura al suolo a 100m di profondita’, isolinee della topografia, rete stradale.

Introduzione all’ambiente di sviluppo MatLab Soluzione numerica di problemi ad elementi finiti o alle differenze finite. Pacchetto Signal Processing. Analisi spettrale, filtraggio di sequenze temporali o nello spazio.

Crisi Sismica Centro Italia Quali informazioni ho acquisito dalla visita del terreno? Come descrivo la crisi sismica? In cosa consiste la sorgente? Come potrei utilizzare l’ambiente Matlab per definire gli effetti e le cause della sequenza sismica? Avendo a disposizione un programmatore, quale software gli chiederei di sviluppare e quali dati di osservazioni utilizzerei? Fine 08.11.2016

Ambiente integrato Matlab

Cartella di lavoro Create una cartella di lavoro sulla quale raccogliete i vostri script e dati. Per il nome della cartella non utilizzare spazi. Per aggiungere la visibililta’ di un’altra cartella: -> set path

Help Matlab dispone di un’assistenza ai comandi integrata. Questa funzione e’ fondamentale nell’apprendimento del linguaggio di programmazione. >> help Per informazioni su una funzione specifica: >> help sin Per documentazione piu’ ampia: >> doc sin Per cercare documentazione su una funzione: >> doc e tab sin (appare un menu di ricerca)

Per cercare documentazione su una funzione: >> doc e tab sin (appare un menu di ricerca)

Finestre di Matlab Current folder: mostra contenuto della cartella aperta. I risultati e le chiamate degli script si riferiscono a questa cartella, se non diversamente specificato Command window: qui vengono immessi comandi di linea e viene scritto il risultato di ogni elaborazione. Digitando un comando il sistema cerca uno script dello stesso nome nella cartella aperta, oppure in tutte le cartelle incluse nella definizione di path. Il path permette all’interprete di matlab di trovare script di libreria e di sistema. Matlab assegna di default un path valido per lavorare. Le cartelle personali di lavoro devono essere aggiunte manualmente nel path. L’interprete cerca i files solo nelle cartelle assegnate, vale per gli script e per i dati. Durante l’installazione di matlab vengono definite le cartelle accessibili. Tutti i comandi di Matlab sono salvati in una cartella specifica. Noi definiremo i propri script che salveremo e potremo richiamare nel workspace.

Scripts - introduzione Una serie di comandi raccolti in un file. I comandi vengono eseguiti consecutivamente Lo script viene descritto nell’editor di Matlab e salvato come file Matlab, caratterizzato dall’ estensione miofile.m Da riga di commando: >> edit ciao.m Oppure:

Editor di scripts

Scripts- nota bene Nello script le righe che iniziano con % vengono interpretate come commenti Le prime righe commentate vengono utilizzate dal “help” per fornire informazioni sul comando rappresentato dallo script Le variabili create durante l’esecuzione dello script sono visibili nello workspace. Rimangono in memoria anche dopo il termine dell’esecuzione dello script.

Script iniziale Scopo dello script: scrivere un testo Salve Sono studente di geologia Operazioni da fare: creare il file nell’editor, dare nome, descizione, ed il comando. Comando: disp(‘ testo’) % ciao.m % il mio primo programma disp('ciao') disp('studio geologia') Per lanciare il programma: nell’editor Run Nella riga di comando: ciao.m

Variabili Iniziamo a lavorare con variabili. Le variabili hanno lo scopo di essere contenitori di numeri con le quali definiamo espressioni matematiche. Il problema da risolvere trova una formulazione matematica generale senza la necessita‘ di assegnare esplicitamento un numero alla variabile. Al momento dell‘esecuzione dello script, dobbiamo assegnare un valore esplicito ad una variabile prima di utilizzarla. Altre variabili vengono assegnate al momento del calcolo. Tipi di variabili: numeri (64-bit double), stringhe di caratteri (16-bit char), inoltre variabili simboliche, complesse, integer. Comunemente utilizzeremo array di numeri o caratteri

Nome delle Variabili Per assegnare un valore ad una variabile: >> stringa=‘franz’ Nomi delle variabili: il primo carattere deve essere una lettera, poi combinazione di lettere e numeri. Case-sensitive: distinzione di minuscole e maiuscole! Variabili di sistema, da non utilizzare: i e j potrebbere indicare numeri complessi pi greco: pi= 3.1416 ans: ultimo valore Inf e –Inf: positivo e negativo infinito NaN: ‘not a number’ nei calcoli viene trattato come numero inesistente.

Scalari Definiamo una variabile esplicitamente oppure tramite una funzione. Il risultato viene mostrato nello workspace. >> r= 5 >> V=2*pi*r Per evitare di vedere il risultato nello workspace: >> r=4; V=2*pi*r;

Array Molto spesso necessitiamo di raccogliere un insieme di numeri in una unica variabile. Definiamo un array di numeri. Esempio: tutti i valori della temperatura misurata nell’arco di un giorno. In Matlab possiamo anche definire un array di stringhe e/o numeri, ed e’ un cell array. Esempio: tutti i nomi degli studenti del corso

Vettore riga >> riga = [1 3 5 6.3 7.5 3.2] Output in Command window: riga = 1.0000 3.0000 5.0000 6.3000 7.5000 3.2000 Workspace:

Vettore colonna >> col = [2; 4; 6; 8] >> Output in Command window: col = 2 4 6 8

Size e length Determinare tipo di variabile e numero di elementi che essa contiene; determinare se essa e’ riga o colonna: Vedi workspace Digitare la variabile nel command window Comando: >> size >> size(col) ans = 4 1 Distingure size da length, che fornisce numero di elementi in riga o colonna, equivale al numero di elementi nell’array: >> length(col) 4 >> size(riga) ans = 1 6 >> length(riga) ans = 6

Array bidimensionali Concatenazione di array monodimensionali, che potremmo chiamare vettori, risulta in un array bidiemsnionale, denominato anche matrice. Stringhe di caratteri sono vettori. Possiamo concatenarle per programmare frasi costruite da variabili di carattere.

Save/clear/load Salvare le variabili in un unico ile: >> save miofile riga col Comando save salva le variabili riga e col nel file miofile.mat nella cartella di lavoro attuale. Per conoscere la cartella attuale: >> pwd >> clear pulisce tutte le variabili in memoria >> load miofile carica le variabili salvate Per salvare la completa sessione di lavoro: >> save sessione; clear all; Per richiamarla: >> load sessione

Esercizio data e ora attuale Scopo: determinare data e ora attuale da programma. Alla fine il risultato dovrebbe essere una stringa di caratteri contente la data attuale, utilizzabile di seguito in concatenzaione con un ulteriore testo. Esercizio: determinare la tipologia della variabile start e startString. Comandi: clock e datestr »help clock »start=clock; »size(start) »help datestr »startString=datestr(start); »save startTime start startString »load startTime »disp(['I started learning MATLAB on ' ... startString]);

Operazioni con variabili Operazioni aritmetiche (+,-,*,/) Esponente: (^) Espressioni concatenate, utilizzare le parentesi: >> b=3; c=2; a=(b-c)/(b+c) >> r=5; A = pi * r^2 >> d = (b^2 + c^2)^0.5

Funzioni intrinseche di matlab Matlab mette a disposizione moltissime funzioni pronte all’utilizzo, come le seguenti: >> sqrt(3) >> log(100); log10(100) >> cos(pi); sin(pi/2); asin(1)*180/pi >> atan(1)*180/pi >> round(1.4); >> floor(3.7) ans = 3 >> ceil(3.7) 4

Trasposta Un vettore riga e’ la trasposta di un vettore colonna. »b = transpose(a) »c = a' »d = b' La trasposta di una matrice: >> A=[1 2 3 4; 5 6 7 8] A = 1 2 3 4 5 6 7 8 >> B=A‘ B = 1 5 2 6 3 7 4 8

Somma e differenze di array Il numero di righe e colonne di due array deve essere lo stesso per sommarle. Righe Colonne Con la trasposta rendiamo compatibile la somma di due array di tipo diverso: >> riga= [ 1 2 3 4]; col=[ 4; 3; 2;1]; >> s = riga + col‘ La somma e prodotto degli elementi dell’array: >> sum(riga) ans= 10 >> prod(col) ans = 24

Operazioni sugli elementi di un array Le funzioni che operano su scalari, solitamente operano anche su array. >> f=[0 pi/4 pi/2 3*pi/4 ] >> r=sin(f) Equivale a: >> r = [sin(0) sin(pi/4) sin(pi/2) sin(3*pi/4) ] Invece le operazioni (* / ^) distinguono fra operazioni su singolo elemento dell’array o operazioni fra array.

Operatori aritmetici su singolo elemento Le operazioni (* / ^) applicate su un array effttuano operazioni di calcolo matriciale. Se invece intendiamo operazione elemento per elemento, e’ necessario anteporre un punto:

Operatori aritmetici metodo standard Le operazioni (* / ^) applicate su un array effttuano operazioni di calcolo matriciale. La moltiplicazione (*) effettua un prodotto scalare fra array L’esponente puo’ essere solo effttuasu matrici quadrate o su scalari: La divisione (/)corrisponde alla moltiplicazione con l’inversa della matrice.