Informatica per Scienze Geologiche LT a a 2017
- Slides: 21
Informatica per Scienze Geologiche LT a. a. 2017 -2018 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
Funzioni create dall’utente • E’ utile richiamare blocchi di programmi che vengono utilizzati frequentemente dall’esterno, senza doverli riprogrammare. Si definisce una funzione, con input e output, che svolge una certa operazione. Chiamata della funzione output input
Funzioni create dall’utente • Vediamo la chiamata alla funzione in dettaglio • >>function [out 1, out 2, out 3] = nomefunz(input 1, input 2) Una funzione ha un output. Se piu’ di uno, le variabili vanno raggruppate in parentesi quadre. Il nome della funzione e’ anche il nome dello script di matlab. Una funzione ha uno o piu’ input -Una volta chiusa la funzione, le variabili vengono cancellate dalla memoria. - i nomi delle variabili in output devono avere corrispondenza nell’interno della funzione - non e’ necessario richiamare tutte le variabili in output. -- possiamo definire una funzione anche senza output. Una funzione che crea un plot non ha variabili in output
Esempio di funzione che non restitutisce valori in output. Plot di tre sinusoidi sovrapposte. Chiamata da command line: plotsines(1/20, 1/40, 1/70) • • • function plotsines(f 1, f 2, f 3) switch nargin case 0 plotsines(1/20, 1/50, 1/100) otherwise x=linspace(0, 1000); y=sin(x*pi*f 1)+sin(x*pi*f 2)+sin(x*pi*f 3); figure plot(x, y) xlabel('x'); ylabel('y'); end
Call function from command line or from script: type on command line: plotsines(1/20, 1/50, 1/100) Be sure that the script plosines. m is in your working folder.
Operatori logici per controllare il flusso del programma- if/elseif • Matlab in comune con altri programmi mette a disposizione un controllo logico. If condizione comandi end If condizione comandi elseif condizione comandi else comandi end Per definire la condizione utilizziamo i simboli elencati nella pagina successiva.
Condizioni logiche in Matlab • • Uguale == Non uguale ~= Maggiore > Maggiore uguale >= Operatori logici: And & oppure && Or | oppure || Negazione: ~
Ripetiamo l’esempio delle tre sinusoidi Salviamo il seguente script con nome plotsines_flexible. m • • • • %plotsines_flexible % funzione mette in grafico tre sinusoidi function plotsines_flexible(f 1, f 2, f 3) x=linspace(0, 1000); if nargin==1 y=sin(x*pi*f 1); elseif nargin==2 y=sin(x*pi*f 1)+sin(x*pi*f 2); elseif nargin==3 y=sin(x*pi*f 1)+sin(x*pi*f 2)+sin(x*pi*f 3); end plot(x, y) xlabel('x'); ylabel('y'); end
Cicli di ripetizione • For n= 1: 100 • comandi • End • La variabile del loop e’ un vettore. Nell’interno del blocco e’ uno scalare. Non e’ necessario che i valori del vettore siano conscutivi. • Il blocco dei comandi: – Tutti i comandi compresi fra la riga del for e la riga di end
Cicli di ripetizione - while • >> while • Un loop generico e’ fattibile con while. Non necessita di conoscere il numero di iterazioni, ma poniamo una condizione logica. N=0 while N<10 • >> while condizione N=N+1 end • comandi disp(‘finito!’) • >> end • I comandi vengono eseguiti mentre la condizione viene soddisfatta.
Grafici cartesiani • x=-pi: pi/100: pi; • y=cos(4*x). *sin(10*x). *exp(-abs(x)); • plot(x, y, 'k-');
Grafico semi-logaritmico • • x=-pi: pi/100: pi; y=cos(4*x). *sin(10*x). *exp(-abs(x)); plot(x, y, 'k-'); semilogx(x, y, 'k');
Grafico semilogaritmico • • • x=0: 1: 40; Y=10*exp(-abs(x)); figure plot(x, y, 'k-'); figure semilogy(x, y, 'k');
Esempio da prima: • • x=0: 1: 40; y=10*exp(-abs(x)); figure subplot(2, 1, 1) plot(x, y) subplot(2, 1, 2) semilogy(x, y, 'k')
- Scienze geologiche napoli
- La carta geografica è una rappresentazione bidimensionale
- Era paleozoica schema
- Scala dei tempi geologici
- Scienze umane quali sono
- Informatica per la grafica
- Informatica per il management
- Kertas kerja usaha salon berdikari per 31 desember 2017
- Neraca saldo per 31 desember 2017
- Catullus 84
- Nuo vandenyje gimusi vandens bijo
- Multas per gentes et multa per aequora vectus
- Moltiplicazioni con numeri periodici
- 27 miles per gallon into kilometers per liter
- Longum iter est per praecepta breve et efficax per exempla
- Coop per me e per te
- 1800 dam per jam = hm per menit
- 1 hour minutes
- Per capita vs per stirpes
- Cantico dei cantici una voce il mio diletto
- Per stirpes v per capita
- Potenza e atto aristotele