La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Informatica per Scienze Geologiche LT a.a

Presentazioni simili


Presentazione sul tema: "Informatica per Scienze Geologiche LT a.a"— Transcript della presentazione:

1 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 Tel

2 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

3 Funzioni create dall’utente
Vediamo la chiamata alla funzione in dettaglio >>function [out1,out2,out3] = nomefunz(input1,input2) Una funzione ha un output. Se piu’ di uno, le variabili vanno raggruppate in parentesi quadre. Una funzione ha uno o piu’ input Il nome della funzione e’ anche il nome dello script di matlab. 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

4 Esempio di funzione che non restitutisce valori 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(f1,f2,f3) switch nargin case 0 plotsines(1/20,1/50,1/100) otherwise x=linspace(0,100,1000); y=sin(x*pi*f1)+sin(x*pi*f2)+sin(x*pi*f3); figure plot(x,y) xlabel('x'); ylabel('y'); end

5 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.

6 Operatori logici per controllare il flusso del programma- if/else/elseif
Matlab in comune con altri programmi mette a disposizione un controllo logico. If condizione comandi end If condizione comandi elseif condizione else end If condizione comandi else end Per definire la condizione utilizziamo i simboli elencati nella pagina successiva.

7 Condizioni logiche in Matlab
Uguale == Non uguale ~= Maggiore > Maggiore uguale >= Operatori logici: And & oppure && Or | oppure || Negazione: ~

8 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(f1,f2,f3) x=linspace(0,100,1000); if nargin==1 y=sin(x*pi*f1); elseif nargin==2 y=sin(x*pi*f1)+sin(x*pi*f2); elseif nargin==3 y=sin(x*pi*f1)+sin(x*pi*f2)+sin(x*pi*f3); end plot(x,y) xlabel('x'); ylabel('y');

9 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

10 Cicli di ripetizione - while
Un loop generico e’ fattibile con while. Non necessita di conoscere il numero di iterazioni, ma poniamo una condizione logica. >> while condizione comandi >> end I comandi vengono eseguiti mentre la condizione viene soddisfatta. N=0 while N<10 N=N+1 end disp(‘finito!’)

11

12

13

14 Grafici cartesiani x=-pi:pi/100:pi;
y=cos(4*x).*sin(10*x).*exp(-abs(x)); plot(x,y,'k-');

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

16 Grafico semilogaritmico
x=0:1:40; Y=10*exp(-abs(x)); figure plot(x,y,'k-'); semilogy(x,y,'k');

17

18

19

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

21


Scaricare ppt "Informatica per Scienze Geologiche LT a.a"

Presentazioni simili


Annunci Google