Introduzione allUso dei Calcolatori (1) Uso dei Calcolatori in Fisica (3) Prof. Paolo Lotti Dr....

81
Introduzione all’Uso dei Calcolatori (1) Uso dei Calcolatori in Fisica (3) Prof. Paolo Lotti Dr. Paolo Lotti Istituto Nazionale di Fisica Nucleare (INFN) Sezione di Padova Via F. Mar zolo, 8 I-35131 - Padova tel.: 0498277189 stanza 315 e-mail: [email protected] http://www.pd.infn.it/ ~lotti Laboratori didattici del Dipartimento Sig. G. Bettella Sig. P. Parisotto Dr. Matteo Melani Dr. Antonio Ceseracciu

Transcript of Introduzione allUso dei Calcolatori (1) Uso dei Calcolatori in Fisica (3) Prof. Paolo Lotti Dr....

Page 1: Introduzione allUso dei Calcolatori (1) Uso dei Calcolatori in Fisica (3) Prof. Paolo Lotti Dr. Paolo Lotti Istituto Nazionale di Fisica Nucleare (INFN)

Introduzione all’Uso dei Calcolatori (1)Uso dei Calcolatori in Fisica (3)

Prof. Paolo Lotti

Dr. Paolo Lotti Istituto Nazionale di Fisica Nucleare (INFN)Sezione di PadovaVia F. Marzolo, 8I-35131 - Padovatel.: 0498277189stanza 315e-mail: [email protected] http://www.pd.infn.it/~lottiMercoledì ore 15

Laboratori didattici del DipartimentoSig. G. BettellaSig. P. Parisotto

Dr. Matteo MelaniDr. Antonio Ceseracciu

Page 2: Introduzione allUso dei Calcolatori (1) Uso dei Calcolatori in Fisica (3) Prof. Paolo Lotti Dr. Paolo Lotti Istituto Nazionale di Fisica Nucleare (INFN)

Programma dei corsi Introduzione all’uso dei calcolatori

0) Il calcolatore1) Presentazione dell’aula informatica2) Sistemi operativi presenti3) Il più conosciuto: Microsoft Windows4) Sicurezza?!5) Interazione utente-macchina6) Presentazione di alcuni programmi

Page 3: Introduzione allUso dei Calcolatori (1) Uso dei Calcolatori in Fisica (3) Prof. Paolo Lotti Dr. Paolo Lotti Istituto Nazionale di Fisica Nucleare (INFN)

Il calcolatore

Memoria RAM (Random Access Memory):è realizzata mediante circuiti integrati, costituiti da un insieme di Flip-Flop (circuiti di memoria a due stati stabili);

Processore Centrale CPU (Central Processing Unit):legge le istruzioni dalla -memoria, le interpreta e le esegue;

Unità di Input e Output:tastiera e mouse, principalmente, sono I dispositivi di INPUT usati dall’utente per trasmettere istruzioni/informazioni al calcolatore;Monitor e stampante sono invece i più comuni dispositivi di OUTPUT.

Page 4: Introduzione allUso dei Calcolatori (1) Uso dei Calcolatori in Fisica (3) Prof. Paolo Lotti Dr. Paolo Lotti Istituto Nazionale di Fisica Nucleare (INFN)

Sistema Operativo

Il sistema operativo è un programma che costituisce l’interfaccia utente-macchina.

Controlla quindi l’hardware che costituisce la macchina e gestisce l’utilizzo di queste componenti da parte dell’utentemediante opportune istruzioni.

Una differenza importante tra sistemi operativi diversi èquella di permettere l’utilizzo delle risorse del calcolatore da uno o più utenti, ciascuno dei quali eventualmente esegueuna o più istruzioni:

DOS - Windows 95/98 - Windows XP, Linux

Page 5: Introduzione allUso dei Calcolatori (1) Uso dei Calcolatori in Fisica (3) Prof. Paolo Lotti Dr. Paolo Lotti Istituto Nazionale di Fisica Nucleare (INFN)

Reti di calcolatori

-------- ----

Le apparecchiature per mettere in comunicazione i calcolatori fra loro sono evolute moltissimo nel corso degli ultimi dieci anni

…... ----

Page 6: Introduzione allUso dei Calcolatori (1) Uso dei Calcolatori in Fisica (3) Prof. Paolo Lotti Dr. Paolo Lotti Istituto Nazionale di Fisica Nucleare (INFN)

Dipartimento di Fisica “G. Galilei”Polo Didattico - Aula Informatica

L’Aula Informatica del Dipartimento di Fisica esistedall’Anno Accademico 1991/92

Hanno contribuito, in forma differente, le seguenti persone:

Prof. E. Calimani Dr. P. Lotti Sig. V. ChiochiaProf. L. Peruzzo Sig. C. Venier Sig. A. Simion Prof. M. Nigro Sig. M. GravinoProf. C. Voci Sig. A. DorigoProf. G. Busetto Sig. M. Menguzzato

Page 7: Introduzione allUso dei Calcolatori (1) Uso dei Calcolatori in Fisica (3) Prof. Paolo Lotti Dr. Paolo Lotti Istituto Nazionale di Fisica Nucleare (INFN)

Si è iniziato con 10 PC IBM 286

Successivamente, 3-4 MacintoshPC di generazione successiva.1 vecchio microvax digitalalcuni terminali alfanumerici

OGGI

32 postazioni di lavoroPC Pentium III con 256 Mbyte di RAM

Su queste macchine sono installati i sistemi operativiWindows NT 4.0 (tutte) e Linux

(20 macchine) distribuzione RedHat

Page 8: Introduzione allUso dei Calcolatori (1) Uso dei Calcolatori in Fisica (3) Prof. Paolo Lotti Dr. Paolo Lotti Istituto Nazionale di Fisica Nucleare (INFN)

Il sistema operativo Linux, un sistema Unix per Personal Computers. Il sistema operativo Unix esiste da più di 30 anni ed è considerato tuttora il sistema operativo più ver-satile e potente. La caratteristica più conosciuta di Unix èla non “amichevolezza”.

Esempio: il comando copy si chiama cp!Distingue le maiuscole dalle minuscole: CP non funziona!

Nel corso degli ultimi 10 anni, Unix l’ha vinta costringen-do gli utenti e le imprese prodruttrici di software ad ade-guarsi.

Microsoft per il momento resiste ...

Page 9: Introduzione allUso dei Calcolatori (1) Uso dei Calcolatori in Fisica (3) Prof. Paolo Lotti Dr. Paolo Lotti Istituto Nazionale di Fisica Nucleare (INFN)

Aula informatica del Dipartimento di Fisica

Sono presenti I due sistemi operativi attualmente più utilizzati, Linux e Microsoft Windows NT, ed in parti-colare Windows NT è un programma di Linux.

Questo software permette la coesistenzadei due sistemi operativi. Ogni calcolatore ospita entrambe I sistemi che convivono,

Vediamo prima a grandi linee I due sistemi e succes-sivamente come I due comunicano tra loro.

Obs: I sistemi sono due ma il calcolatore è uno solo!

Page 10: Introduzione allUso dei Calcolatori (1) Uso dei Calcolatori in Fisica (3) Prof. Paolo Lotti Dr. Paolo Lotti Istituto Nazionale di Fisica Nucleare (INFN)

Uso di Windows 95/98/me/2000/XP

L’obbiettivo principale è che l’utilizzo sia il più “amichevole”possibile; interfaccia utente-macchina molto intuitiva e mouse.

Clicca qui, clicca lì clicca su, clicca giù

Programmi utili, video scrittura, analisi di dati … tutto al giusto prezzo!

Page 11: Introduzione allUso dei Calcolatori (1) Uso dei Calcolatori in Fisica (3) Prof. Paolo Lotti Dr. Paolo Lotti Istituto Nazionale di Fisica Nucleare (INFN)

… e se si blocca tutto?

Page 12: Introduzione allUso dei Calcolatori (1) Uso dei Calcolatori in Fisica (3) Prof. Paolo Lotti Dr. Paolo Lotti Istituto Nazionale di Fisica Nucleare (INFN)

Linux è un sistema operativo gratuito creato da Linus Torvalds e di cui esistono varie distribuzioni, la piùconosciuta oggi è la RedHat

In aula informatica è installata al momento la distri-buzione 6.2 assieme a Windows NT 4.0

Entrambi I sistemi richiedono il possesso di un “account” ovvero una “username” ed una “password”

L’uso di Linux richiede più pazienza in media, mail sistema gestisce meglio le risorse del calcolatore e molto raramente si “blocca”

Page 13: Introduzione allUso dei Calcolatori (1) Uso dei Calcolatori in Fisica (3) Prof. Paolo Lotti Dr. Paolo Lotti Istituto Nazionale di Fisica Nucleare (INFN)

Aritmetica binaria

L’addizione, la sottrazione, la moltiplicazione e ladivisione tra numeri binari si eseguono esattamente nello stesso modo che nel sistema decimale, con la differenza che il sistema decimale ha dieci cifre mentre quello binario soltanto due, 0 e 1.

Esempi di conversione decimale-binario:

26 ==> 2x10 + 6x1010

I coefficienti delle potenze di 10, base del sistema numericoutilizzato, variano da 0 a 9.Nel sistema binario, da 0 a 1

26 ==> 1x2 + 1x2 +0x2 +1x2 +0x2 ==> 110102

1 0

1 0

1

4 3 2

Page 14: Introduzione allUso dei Calcolatori (1) Uso dei Calcolatori in Fisica (3) Prof. Paolo Lotti Dr. Paolo Lotti Istituto Nazionale di Fisica Nucleare (INFN)

Consideriamo per esempio l’addizione tra due numeri in codice binario:

26 ==> 11010 e 28 ==>111002 2

11010 + 11100------------- 110110 ==> 54

10

In generale, valgono le seguenti regole:

0 0 1 1+0 +1 +1 1 +1----- ------ ------ ----- 0 1 10 11

Page 15: Introduzione allUso dei Calcolatori (1) Uso dei Calcolatori in Fisica (3) Prof. Paolo Lotti Dr. Paolo Lotti Istituto Nazionale di Fisica Nucleare (INFN)

Analogamente per la sottrazione:

0 1 1 0-0 -0 -1 -1----- ------ ------ ----- 0 1 0 1 e riporto 1

Esempio:

11100-11010--------------- 00010 ==> 2

10

Page 16: Introduzione allUso dei Calcolatori (1) Uso dei Calcolatori in Fisica (3) Prof. Paolo Lotti Dr. Paolo Lotti Istituto Nazionale di Fisica Nucleare (INFN)

La moltiplicazione è facile:

0 1 1 0x0 x0 x1 x1

----- ------ ------ ----- 0 0 1 0

Esempio: 11010x11100 -----------------------------

-

00000 00000 11010 11010 11010------------------------------ 1011011000 ==> 728

10

Page 17: Introduzione allUso dei Calcolatori (1) Uso dei Calcolatori in Fisica (3) Prof. Paolo Lotti Dr. Paolo Lotti Istituto Nazionale di Fisica Nucleare (INFN)

Divisione: si procede come nel sistema decimale conla semplificazione che le cifre nel quoziente possono assumere soltanto il valore 0 o 1

11100:11010=1-11010--------- 00010

28:26=1-26----2

Altro esempio:1001101:101=1111-101

1001 -101

1000 -101

111 -101

10

-------

-------

-------

77:5=15-5 27-25 2

---

----

http://cs.northernc.on.ca/cs/in2254/binarith.htm

Page 18: Introduzione allUso dei Calcolatori (1) Uso dei Calcolatori in Fisica (3) Prof. Paolo Lotti Dr. Paolo Lotti Istituto Nazionale di Fisica Nucleare (INFN)

Linux è un sistema operativo gratuito creato da Linus Torvalds e di cui esistono varie distribuzioni, la piùconosciuta oggi è la RedHat

In aula informatica è installata al momento la distri-buzione 6.2 assieme a Windows NT 4.0

Entrambi I sistemi richiedono il possesso di un “account” ovvero una “username” ed una “password”

L’uso di Linux richiede più pazienza in media, mail sistema gestisce meglio le risorse del calcolatore e molto raramente si “blocca”

Page 19: Introduzione allUso dei Calcolatori (1) Uso dei Calcolatori in Fisica (3) Prof. Paolo Lotti Dr. Paolo Lotti Istituto Nazionale di Fisica Nucleare (INFN)

Il sistema operativo permette l’utilizzo del computer in un modo molto più confortabile per l’utente medio le cuiesigenze sono di utilizzare varie applicazioni.

Nell’ambito di un corso di studi scientifico, le applicazionipiù comuni sono:

- programmi per la gestione di documenti;- scrittura di testi, per esempio, relazioni di laboratorio; - analisi di dati di laboratorio;- programmi di grafica;- consultazione di pagine internet;- programmi di manipolazione algebrica:- scrittura di programmi per calcoli numerici.

Page 20: Introduzione allUso dei Calcolatori (1) Uso dei Calcolatori in Fisica (3) Prof. Paolo Lotti Dr. Paolo Lotti Istituto Nazionale di Fisica Nucleare (INFN)

Una differenza importante tra il sistema operativo Microsoft Windows e Linux:

quando si usa Windows, l’utente interagisce con programmache ne mette a disposizione molti altri;

quando si usa Linux, l’utente interagisce direttamente con il calcolatore e le periferiche a disposizione attraverso un programma molto semplice che è un’emulatore di terminale;

il comando più utile usando un terminale Linux:

# apropos copy (per esempio)# man cp (man, il manuale on-line del sistema)

(in questo caso, #, è il “prompt” che il sistema operativo uti-lizza quando in attesa di un comando)

Page 21: Introduzione allUso dei Calcolatori (1) Uso dei Calcolatori in Fisica (3) Prof. Paolo Lotti Dr. Paolo Lotti Istituto Nazionale di Fisica Nucleare (INFN)

Dal punto di vista della facilità d’uso, il sistema operativoMicrosoft Windows è molto più pratico, basta “smanettare”un po’ fino a raggiungere l’obbiettivo proposto. esempio

Per quanto riguarda la gestione dei documenti, Microsoft Windows è semplice da usare ed è soddisfacente.

Programmi di scrittura di testi, come Microsoft Word,sono stati adottati come standard per la scittura di librio articoli di giornale (case editrici).

In ambiente scientifico-universitario, per contenere i costie per riuscire a realizzare progetti specifici, per esempio ilcontrollo di apparecchiature di misura, Windows non ser-ve.

Page 22: Introduzione allUso dei Calcolatori (1) Uso dei Calcolatori in Fisica (3) Prof. Paolo Lotti Dr. Paolo Lotti Istituto Nazionale di Fisica Nucleare (INFN)

Linux ha lo svantaggio di non “presentarsi” molto bene,ma molte applicazioni si sono adeguate, xmgrace, kile. esempio

Un vantaggio molto importante è che esiste una comunitàmolto grande di programmatori molto bravi ma non pro-fessionisti che sviluppa software che vengono messi gratui-tamente a disposizione a livello internazionale (l’installazio-ne non è sempre banale).

Per esempio, in ambito scientifico, a livello di scrittura diarticoli e successivamente di pubblicazione di questi arti-coli in riviste scientifiche, si è manifestata l’esigenza di di-sporre di un linguaggio di scrittura di testi che permettes-se di scrivere le formule matematiche in maniera elegante.

Page 23: Introduzione allUso dei Calcolatori (1) Uso dei Calcolatori in Fisica (3) Prof. Paolo Lotti Dr. Paolo Lotti Istituto Nazionale di Fisica Nucleare (INFN)

Donald Knuth ha sviluppato un linguaggio di scritturadi testi, TeX, che è diventato lo standard internazionale.In realtà, un’evoluzione di TeX, LaTeX (Leslie Lamport),è stato adottato da tutte le riviste internazionali per la pubblicazione di articoli scientifici (TeX e LaTeX esisto-no ovviamente anche per Microsoft Windows).

Consiglio utile: imparare LaTeX

Per l’analisi dei dati di laboratorio, esistono molte appli-cazioni e la scelta è prof-dependent!

Page 24: Introduzione allUso dei Calcolatori (1) Uso dei Calcolatori in Fisica (3) Prof. Paolo Lotti Dr. Paolo Lotti Istituto Nazionale di Fisica Nucleare (INFN)

Per la consultazione delle pagine Internet esistono diversiprogrammi (Browser) in circolazione:Internet explorer, Mozilla, Netscape.

Molti siti internet sono ottimizzati per l’uso di uno di que-sti programmi e la scelta viene fatta principalmente per motivi di politica commerciale.

Una risorsa sicuramente molto utile, sono i cosiddetti “mo-tori di ricerca”:

www.google.comwww.altavista.comwww.yahoo.com

Page 25: Introduzione allUso dei Calcolatori (1) Uso dei Calcolatori in Fisica (3) Prof. Paolo Lotti Dr. Paolo Lotti Istituto Nazionale di Fisica Nucleare (INFN)

Normalmente si procede nel seguente modo: 1) si cerca in internet un sito che metta a disposizione il programma cercato, possibilmente gratuito o di cui esista una versione dimostrativa, valida per un pe- . riodo limitato di tempo (tipicamente un mese);

2) si “scarica” il software e si procede (o se ne richiede) all’installazione;

3) l’obbiettivo è quello di installare nel calcolatore i programmi di maggior utilità;

Page 26: Introduzione allUso dei Calcolatori (1) Uso dei Calcolatori in Fisica (3) Prof. Paolo Lotti Dr. Paolo Lotti Istituto Nazionale di Fisica Nucleare (INFN)

Il sistema operativo Linux è nato dopo Microsoft Windows e la sfida era quella di inserirsi in un mercato di software con-trollato da Microsoft.

Proprio perchè intenzionato ad inserirsi in un mondo già esi-stente da tempo, la prima preoccupazione di Linux è stata diessere permettere la comunicazione con il mondo Microsoft. Esempio: le applicazioni mtools (mdir, mcopy, mtype, …)che permettono di usare il floppy disk utilizzando una formattazione perfettamente compatibile con Windows.

Ovvio che il floppy disk è una periferica del calcolatore che può essere gestita da Linux senza preoccuparsi di qualsiasicompatibilità con altri sistemi operativi.

Page 27: Introduzione allUso dei Calcolatori (1) Uso dei Calcolatori in Fisica (3) Prof. Paolo Lotti Dr. Paolo Lotti Istituto Nazionale di Fisica Nucleare (INFN)

Nei calcolatori dell’aula informatica sono stati installati variprogrammi, in entrambe le piattaforme, per tentare di sod-disfare tutte le esigenze didattiche presentate.

In particolare, è stata installata una licenza di Mathematicaprofessional che ne permette l’uso su 10 calcolatori contem-poraneamente.

Un altro programma per Windows NT, gratuito, permette il collegamento ad altri calcolatori in modalità grafica.

Un calcolatore si distingue tra tutti: spiro.fisica.unipd.itspiro accetta collegamenti da altri calcolatori per mezzo diun programma che emula un terminale grafico, ssh, che è molto più evoluto del semplice collegamento via “telnet”.

Page 28: Introduzione allUso dei Calcolatori (1) Uso dei Calcolatori in Fisica (3) Prof. Paolo Lotti Dr. Paolo Lotti Istituto Nazionale di Fisica Nucleare (INFN)

Quando non si riesce a risolvere un problema algebricamente o mediante un programma di manipulazione algebrica (per vari motivi) e si vuole avere pieno controllo della soluzione in-contrata, si utilizza il calcolo numerico.

Esistono vari trattati “sacri” di calcolo numerico ed l’analisi numerica di un problema si divide in tre tappe fondamentali:

a) identificazione del metodo numerico da applicare;b) scrittura e “debuggaggio” del programma che risolve il problema;c) analisi ed interpretazione dei risultati.

I primi linguaggi di programmazione (compilatori) sviluppati in ambiente scientifico sono stati il Basic, Pascal, ForTran, C, C++.

Page 29: Introduzione allUso dei Calcolatori (1) Uso dei Calcolatori in Fisica (3) Prof. Paolo Lotti Dr. Paolo Lotti Istituto Nazionale di Fisica Nucleare (INFN)

Linux:

1) la procedura di login da una finestra alfanumerica: CTRL+ALT+F12) cambiare la password: il comando passwd3) gestore di finestre, il file .xinitrc exec wmaker exec AnotherLevel exec startkde4) il comando ls con i suoi parametri, -a per esempio;5) modificare questo file con un editor di testo, pico per esempio6) prima applicazione: pine7) il .forward per reindirizzare la posta elettronica

Page 30: Introduzione allUso dei Calcolatori (1) Uso dei Calcolatori in Fisica (3) Prof. Paolo Lotti Dr. Paolo Lotti Istituto Nazionale di Fisica Nucleare (INFN)

Windows NT:

1) cambiare password2) collegamento a [email protected] con ssh

Page 31: Introduzione allUso dei Calcolatori (1) Uso dei Calcolatori in Fisica (3) Prof. Paolo Lotti Dr. Paolo Lotti Istituto Nazionale di Fisica Nucleare (INFN)

Comandi principali:

DOS Linuxdir ls, ls -l, ls -a, ls -altype | more moredel, erase rmmkdir mkdirrmdir rmdirrename mvcopy cphelp man …cd cd

mstools

# mcopy a:\file.ext .

Page 32: Introduzione allUso dei Calcolatori (1) Uso dei Calcolatori in Fisica (3) Prof. Paolo Lotti Dr. Paolo Lotti Istituto Nazionale di Fisica Nucleare (INFN)

Importante

Tipico esempio del file .forward

[email protected],\lotti

Se si usa, come da me erroneamente detto,

[email protected]

il sistema operativo si accorge dell’errore, loop, e nonspedisce il messaggio!

Page 33: Introduzione allUso dei Calcolatori (1) Uso dei Calcolatori in Fisica (3) Prof. Paolo Lotti Dr. Paolo Lotti Istituto Nazionale di Fisica Nucleare (INFN)

Un programma per calcolare per punti il valore di una funzione:

/* Funzione per punti */float fun(float x);int main(void){ int ip,ipmin,ipmax,idp; float x,xmin,dx; float y; ipmin=0; ipmax=50; idp=1; xmin=-5.; dx=0.2;

Page 34: Introduzione allUso dei Calcolatori (1) Uso dei Calcolatori in Fisica (3) Prof. Paolo Lotti Dr. Paolo Lotti Istituto Nazionale di Fisica Nucleare (INFN)

ip=ipmin; while(ip<=ipmax) { x=xmin+dx*ip; y=fun(x); printf("%6.1f %9.5f\n",x,y); ip=ip+idp; }}float fun(float g){ float p=0.; p=-1.+0.5*(g-2.)*(g-2.)+0.1*(g-0.5)*(g-0.5)*(g-0.5); return p;}

Page 35: Introduzione allUso dei Calcolatori (1) Uso dei Calcolatori in Fisica (3) Prof. Paolo Lotti Dr. Paolo Lotti Istituto Nazionale di Fisica Nucleare (INFN)

# gcc -o fun fun.c# ./fun# ./fun > fig.dat

# export DISPLAY=192.168.1.n:0.0# gnuplotgnuplot> p “fig.dat” u 1:2 w pgnuplot> exit

File grafico (Encapsulated PostScript):

gnuplot> set term postTerminal type set to ‘postscript’Options are ‘landscape noenhanced monocrome …’gnuplot> set output “fig.eps”gnuplot> replotgnuplot> set term X11Options are ‘0’gnuplot>exit

fig.eps

Page 36: Introduzione allUso dei Calcolatori (1) Uso dei Calcolatori in Fisica (3) Prof. Paolo Lotti Dr. Paolo Lotti Istituto Nazionale di Fisica Nucleare (INFN)

Sviluppo in serie di Taylor

)()0('''6

1)0(''

2

10'0

)()0('''6

1)0(''

2

10'0

)(!

1...))((''

2

1))((')()(

))((!

1)(

432

432

)(2

0

)(

hOhfhf)h(f)f(h)f(

hOhfhf)h(f)f(h)f(

pxfn

pxpfpxpfpfxf

pxpfn

xf

nn

n

nn

considerando p=0 e x=+h, x=-h

sottraendo la seconda equazione dalla prima, si ottiene:

Page 37: Introduzione allUso dei Calcolatori (1) Uso dei Calcolatori in Fisica (3) Prof. Paolo Lotti Dr. Paolo Lotti Istituto Nazionale di Fisica Nucleare (INFN)

)()0('''62

)()()0(' 4

2

hOfh

h

hfhff

Altre espressioni sono:

)()()0(

)0('

)()0()(

)0('

hOh

hfff

hOh

fhff

Sommando invece queste due equazioni:

2

)()0(2)()0(''

h

hffhff

Page 38: Introduzione allUso dei Calcolatori (1) Uso dei Calcolatori in Fisica (3) Prof. Paolo Lotti Dr. Paolo Lotti Istituto Nazionale di Fisica Nucleare (INFN)

2

22

2

2

5.0141585.3939479.3

...2

11

2

...)2(2

11

...cos((sin(cos()cos(

xx

xx

xx

xxx

...))((''2

1))((')()(

)cos()(''

)sin()('

)cos()(

2

pxpfpxpfpfxf

xxf

xxf

xxf

Mathcad ...

Page 39: Introduzione allUso dei Calcolatori (1) Uso dei Calcolatori in Fisica (3) Prof. Paolo Lotti Dr. Paolo Lotti Istituto Nazionale di Fisica Nucleare (INFN)

/* Paolo Lotti 182668 - taylor.c /*#include <stdlib.h>#include <stdio.h>#include <math.h>#define pi 3.141592654 float fun(float x);float fun1(float x1);int main(void){ int ip,ipmin,ipmax,idp; float x,xmin,dx; float x1,x1min,dx1; float y,y1; ipmin=0; ipmax=50; idp=1;

Page 40: Introduzione allUso dei Calcolatori (1) Uso dei Calcolatori in Fisica (3) Prof. Paolo Lotti Dr. Paolo Lotti Istituto Nazionale di Fisica Nucleare (INFN)

xmin=0.; dx=pi/25.;x1min=pi/2.;dx1=pi/50.; ip=ipmin; while(ip<=ipmax) { x=xmin+dx*ip; y=fun(x); x1=x1min+dx1*ip; y1=fun1(x1); printf("%6.2f %9.5f %6.2f %9.5f\n",x,y,x1,y1); ip=ip+idp; }return 0;}

Page 41: Introduzione allUso dei Calcolatori (1) Uso dei Calcolatori in Fisica (3) Prof. Paolo Lotti Dr. Paolo Lotti Istituto Nazionale di Fisica Nucleare (INFN)

float fun(float g){ float p=0.; p=cos(g); return p;}float fun1(float g){ float p=0.; p=3.939479-3.141585*g+0.5*g*g; return p;}

www.pd.infn.it -- fisica teorica -- nuclear physics -- P. Lotti

Page 42: Introduzione allUso dei Calcolatori (1) Uso dei Calcolatori in Fisica (3) Prof. Paolo Lotti Dr. Paolo Lotti Istituto Nazionale di Fisica Nucleare (INFN)

#gcc -o taylor -lm taylor.c#./taylor#./taylor >taylor.dat# export DISPLAY=192.168.1.n (soltanto gli utenti Windows)# gnuplot

gnuplot> p “taylor.dat” u 1:2 w l,”taylor.dat” u 3:4 w p

taylor.eps

Page 43: Introduzione allUso dei Calcolatori (1) Uso dei Calcolatori in Fisica (3) Prof. Paolo Lotti Dr. Paolo Lotti Istituto Nazionale di Fisica Nucleare (INFN)

Vi presento double

int main(void){ float a; double b; a=1./3.; b=1./3.; printf(" a=%17.15f\n b=%32.30lf\n",a,b); return 0;}

a=0.333333343267441b=0.333333333333333314829616256247

Page 44: Introduzione allUso dei Calcolatori (1) Uso dei Calcolatori in Fisica (3) Prof. Paolo Lotti Dr. Paolo Lotti Istituto Nazionale di Fisica Nucleare (INFN)

#include <math.h>float fun(float x);int main(void){ float x,h; float xminus,xplus,der1,der2,der,exa; printf(" Enter x:\n"); scanf("%f",&x); printf(" Enter h:\n"); scanf("%f",&h); xplus=x+h; xminus=x-h; der=(fun(xplus)-fun(xminus))/2./h; der1=(fun(xplus)-fun(x))/h; der2=(fun(x)-fun(xminus))/h; exa=cos(x); printf(" h x 2p+ 2p- 3p exact\n"); printf("%10.6f %6.3f %10.6f %10.6f %10.6f %10.6f\n",h,x,der1,der2,der,exa); return 0;}float fun(float g){ float p=0.; p=sin(g); return p;}

Page 45: Introduzione allUso dei Calcolatori (1) Uso dei Calcolatori in Fisica (3) Prof. Paolo Lotti Dr. Paolo Lotti Istituto Nazionale di Fisica Nucleare (INFN)

#include <math.h>double fun(double x);int main(void){ double x,h; double xminus,xplus,der1,der2,der,exa; printf(" Enter x:\n"); scanf("%lf",&x); printf(" Enter h:\n"); scanf("%lf",&h); xplus=x+h; xminus=x-h; der=(fun(xplus)-fun(xminus))/2./h; der1=(fun(xplus)-fun(x))/h; der2=(fun(x)-fun(xminus))/h; exa=cos(x); printf(" h x 2p+ 2p- 3p exact\n"); printf("%10.6lf %6.3lf %10.6lf %10.6lf %10.6lf %10.6lf\n",h,x,der1,der2,der,exa); return 0;}double fun(double g){ double p=0.; p=sin(g); return p;}

Page 46: Introduzione allUso dei Calcolatori (1) Uso dei Calcolatori in Fisica (3) Prof. Paolo Lotti Dr. Paolo Lotti Istituto Nazionale di Fisica Nucleare (INFN)

h x 2p+ 2p- 3p exact

float 0.100000 1.000 0.497364 0.581440 0.539402 0.540302 0.010000 1.000 0.536090 0.544494 0.540292 0.540302 0.001000 1.000 0.539958 0.540674 0.540316 0.540302 0.000100 1.000 0.540614 0.540018 0.540316 0.540302 0.000010 1.000 0.542402 0.536442 0.539422 0.540302 0.000001 1.000 0.536442 0.536442 0.536442 0.540302

double 0.100000 1.000 0.497364 0.581441 0.539402 0.540302 0.010000 1.000 0.536086 0.544501 0.540293 0.540302 0.001000 1.000 0.539881 0.540723 0.540302 0.540302 0.000100 1.000 0.540260 0.540344 0.540302 0.540302 0.000010 1.000 0.540298 0.540307 0.540302 0.540302 0.000001 1.000 0.540302 0.540303 0.540302 0.540302

Page 47: Introduzione allUso dei Calcolatori (1) Uso dei Calcolatori in Fisica (3) Prof. Paolo Lotti Dr. Paolo Lotti Istituto Nazionale di Fisica Nucleare (INFN)

Referenze bibliografiche

Brian W. Kernighan, Dennis M. Ritchie,“Linguaggio C”, Gruppo Editoriale Jackson

Kenneth A. Barclay,“C problem solving and programming”,Prentice Hall International Ltd.

Steven E. Koonin Professor of Theoretical Physics,“Computational physics”, The Benjamin Cummings Publishing Company, Inc.

Page 48: Introduzione allUso dei Calcolatori (1) Uso dei Calcolatori in Fisica (3) Prof. Paolo Lotti Dr. Paolo Lotti Istituto Nazionale di Fisica Nucleare (INFN)

William H. Press Harvard-Smithsonian Center for Astrophysics,

Brian P. Flannery Exxson Research and Engineering Company,

Saul A. Teukolosky Department of Physics, Cornell Universityand

William T. Vetterling Polaroid Corporation

“Numerical recipes in C”, Cambridge University Press

Page 49: Introduzione allUso dei Calcolatori (1) Uso dei Calcolatori in Fisica (3) Prof. Paolo Lotti Dr. Paolo Lotti Istituto Nazionale di Fisica Nucleare (INFN)

#gnuplotgnuplot> p “fig.dat” u 1:2 w p,”zero.dat” u 1:2 w l

zero.dat

-8. 0. 6. 0.

fig1.eps

Page 50: Introduzione allUso dei Calcolatori (1) Uso dei Calcolatori in Fisica (3) Prof. Paolo Lotti Dr. Paolo Lotti Istituto Nazionale di Fisica Nucleare (INFN)

Derive

079154288 23 xxx

54291.2

585831.0

62875.6

3

2

1

x

x

x

Mathcad

...

Page 51: Introduzione allUso dei Calcolatori (1) Uso dei Calcolatori in Fisica (3) Prof. Paolo Lotti Dr. Paolo Lotti Istituto Nazionale di Fisica Nucleare (INFN)

/* Paolo Lotti 182668 - bisez.c */# include <stdlib.h># include <stdio.h># define tol 0.000001

double fun(double x);

int main(void){ double x,dx,fold,y; int iter; printf(" Enter x,dx:\n"); scanf("%lf,%lf",&x,&dx); fold=fun(x); iter=1; printf(" iter=%2d x=%10.8f y=%10.8f\n",iter,x,fold);

Page 52: Introduzione allUso dei Calcolatori (1) Uso dei Calcolatori in Fisica (3) Prof. Paolo Lotti Dr. Paolo Lotti Istituto Nazionale di Fisica Nucleare (INFN)

a: x=x+dx; y=fun(x); iter=iter+1; printf(" iter=%2d x=%10.8f y=%10.8f\n",iter,x,y); if(y*fold<0.) { x=x-dx; dx=dx/2.; } if(dx>tol) goto a; return 0;}double fun(double g){ double p; p=8.*g*g*g+28.*g*g-154.*g+79.; return p;}

Page 53: Introduzione allUso dei Calcolatori (1) Uso dei Calcolatori in Fisica (3) Prof. Paolo Lotti Dr. Paolo Lotti Istituto Nazionale di Fisica Nucleare (INFN)

#gcc -o bisez bisez.c#./bisez Enter x:2.5

Enter x: iter= 1 x=2.50000000 y=-6.00000000 iter= 2 x=2.60000000 y=8.48800000 iter= 3 x=2.55000000 y=1.02100000 iter= 4 x=2.52500000 y=-2.54487500 iter= 5 x=2.55000000 y=1.02100000 iter= 6 x=2.53750000 y=-0.77582812 iter= 7 x=2.55000000 y=1.02100000 iter= 8 x=2.54375000 y=0.11910742 iter= 9 x=2.54062500 y=-0.32922925 iter=10 x=2.54375000 y=0.11910742

Page 54: Introduzione allUso dei Calcolatori (1) Uso dei Calcolatori in Fisica (3) Prof. Paolo Lotti Dr. Paolo Lotti Istituto Nazionale di Fisica Nucleare (INFN)

iter=11 x=2.54218750 y=-0.10527823 iter=12 x=2.54375000 y=0.11910742 iter=13 x=2.54296875 y=0.00686026 iter=14 x=2.54257812 y=-0.04922257 iter=15 x=2.54296875 y=0.00686026 iter=16 x=2.54277344 y=-0.02118455 iter=17 x=2.54296875 y=0.00686026 iter=18 x=2.54287109 y=-0.00716300 iter=19 x=2.54296875 y=0.00686026 iter=20 x=2.54291992 y=-0.00015158 iter=21 x=2.54296875 y=0.00686026 iter=22 x=2.54294434 y=0.00335428 iter=23 x=2.54293213 y=0.00160134 iter=24 x=2.54292603 y=0.00072487 iter=25 x=2.54292297 y=0.00028664 iter=26 x=2.54292145 y=0.00006753

Page 55: Introduzione allUso dei Calcolatori (1) Uso dei Calcolatori in Fisica (3) Prof. Paolo Lotti Dr. Paolo Lotti Istituto Nazionale di Fisica Nucleare (INFN)

Si può procedere in un altro modo sfruttando la possibilitàdi ri-direzionare l’output (input) del sistema operativo Unix:

#./bisez < bisez.in >bisez.out

dove il file bisez.in è un file di una sola linea che contiene l’input del programma zero: 2.5, 0.1

l’output del programma viene scritto nel file bisez.out che puòessere successivamente stampato od utilizzato per altri scopi.

fig2.eps

Page 56: Introduzione allUso dei Calcolatori (1) Uso dei Calcolatori in Fisica (3) Prof. Paolo Lotti Dr. Paolo Lotti Istituto Nazionale di Fisica Nucleare (INFN)

Metodo di Newton--Raphson

Dalla definizione di derivata prima

Si ottiene:

Supponendo che sia uno

‘zero’ della funzione f(x)ii

iii xx

xfxfxf

1

1 )()()('

1ix

)('

)(1

i

iii xf

xfxx

Page 57: Introduzione allUso dei Calcolatori (1) Uso dei Calcolatori in Fisica (3) Prof. Paolo Lotti Dr. Paolo Lotti Istituto Nazionale di Fisica Nucleare (INFN)

/* Paolo Lotti 182668 - newton.c */# include <stdlib.h># include <stdio.h># define tol 0.000001double fun(double z);double fun1(double z1);int main(void){ double x,x1,diff; int iter; printf(" Enter x:\n"); scanf("%lf",&x); iter=1;a: x1=x-fun(x)/fun1(x); diff=fabs(x-x1); printf(" iter=%2d x=%10.8lf x1=%10.8lf dx=%10.8lf\n", iter,x,x1,diff);

Page 58: Introduzione allUso dei Calcolatori (1) Uso dei Calcolatori in Fisica (3) Prof. Paolo Lotti Dr. Paolo Lotti Istituto Nazionale di Fisica Nucleare (INFN)

iter=iter+1; x=x1; if(diff>tol) goto a; return 0;}double fun(double g){ double p; p=g*g-5.; return p;}double fun1(double g){ double p; p=2.*g; return p;}

Page 59: Introduzione allUso dei Calcolatori (1) Uso dei Calcolatori in Fisica (3) Prof. Paolo Lotti Dr. Paolo Lotti Istituto Nazionale di Fisica Nucleare (INFN)

Metodo della secante

Se non si sa come calcolare analiticamente la derivata prima della funzione f(x), si può utilizzare il metodo della secante che calcola numericamente il valore delladerivata prima di f:

1

1)()()('

ii

iii xx

xfxfxf

da cui:

)()()(

1

11

ii

iiiii xfxf

xxxfxx

Page 60: Introduzione allUso dei Calcolatori (1) Uso dei Calcolatori in Fisica (3) Prof. Paolo Lotti Dr. Paolo Lotti Istituto Nazionale di Fisica Nucleare (INFN)

/* Paolo Lotti 182668 - secante.c */# include <stdlib.h># include <stdio.h># define tol 0.000001double fun(double z);double fun1(double z,double z1);int main(void){ double x,x1,x2,diff; int iter; printf(" Enter x,x1:\n"); scanf("%lf,%lf",&x,&x1); iter=1;a: x2=x-fun(x)/fun1(x,x1); diff=fabs(x-x2); printf(" iter=%2d x=%10.8lf x1=%10.8lf dx=%10.8lf\n", iter,x,x2,diff);

Page 61: Introduzione allUso dei Calcolatori (1) Uso dei Calcolatori in Fisica (3) Prof. Paolo Lotti Dr. Paolo Lotti Istituto Nazionale di Fisica Nucleare (INFN)

iter=iter+1; x=x1; x1=x2; if(diff>tol) goto a; return 0;}double fun(double g){ double p; p=g*g-5.; return p;}double fun1(double g,double h){ double p; p=(fun(g)-fun(h))/(g-h); return p;}

Page 62: Introduzione allUso dei Calcolatori (1) Uso dei Calcolatori in Fisica (3) Prof. Paolo Lotti Dr. Paolo Lotti Istituto Nazionale di Fisica Nucleare (INFN)

Newton-Raphson Enter x: 1. iter= 1 x=1.00000000 x1=3.00000000 dx=2.00000000 iter= 2 x=3.00000000 x1=2.33333333 dx=0.66666667 iter= 3 x=2.33333333 x1=2.23809524 dx=0.09523810 iter= 4 x=2.23809524 x1=2.23606890 dx=0.00202634 iter= 5 x=2.23606890 x1=2.23606798 dx=0.00000092

Secante

Enter x,x1:1.,1.3 iter= 1 x=1.00000000 x1=2.73913043 dx=1.73913043 iter= 2 x=1.30000000 x1=2.11948332 dx=0.81948332 iter= 3 x=2.73913043 x1=2.22399676 dx=0.51513367 iter= 4 x=2.11948332 x1=2.23639198 dx=0.11690867 iter= 5 x=2.22399676 x1=2.23606710 dx=0.01207034 iter= 6 x=2.23639198 x1=2.23606798 dx=0.00032401 iter= 7 x=2.23606710 x1=2.23606798 dx=0.00000088

052 x

052 x

Page 63: Introduzione allUso dei Calcolatori (1) Uso dei Calcolatori in Fisica (3) Prof. Paolo Lotti Dr. Paolo Lotti Istituto Nazionale di Fisica Nucleare (INFN)

Bisezione

Enter x: 1. iter= 1 x=1.00000000 y=-4.00000000 iter= 2 x=1.10000000 y=-3.79000000 iter= 3 x=1.20000000 y=-3.56000000 iter= 4 x=1.30000000 y=-3.31000000 iter= 5 x=1.40000000 y=-3.04000000 iter= 6 x=1.50000000 y=-2.75000000 iter= 7 x=1.60000000 y=-2.44000000 iter= 8 x=1.70000000 y=-2.11000000 iter= 9 x=1.80000000 y=-1.76000000 iter=10 x=1.90000000 y=-1.39000000 iter=11 x=2.00000000 y=-1.00000000 iter=12 x=2.10000000 y=-0.59000000 iter=13 x=2.20000000 y=-0.16000000 iter=14 x=2.30000000 y=0.29000000 iter=15 x=2.25000000 y=0.06250000 iter=16 x=2.22500000 y=-0.04937500 iter=17 x=2.25000000 y=0.06250000

052 x

052 x

Page 64: Introduzione allUso dei Calcolatori (1) Uso dei Calcolatori in Fisica (3) Prof. Paolo Lotti Dr. Paolo Lotti Istituto Nazionale di Fisica Nucleare (INFN)

iter=18 x=2.23750000 y=0.00640625 iter=19 x=2.23125000 y=-0.02152344 iter=20 x=2.23750000 y=0.00640625 iter=21 x=2.23437500 y=-0.00756836 iter=22 x=2.23750000 y=0.00640625 iter=23 x=2.23593750 y=-0.00058350 iter=24 x=2.23750000 y=0.00640625 iter=25 x=2.23671875 y=0.00291077 iter=26 x=2.23632813 y=0.00116348 iter=27 x=2.23613281 y=0.00028996 iter=28 x=2.23603516 y=-0.00014678 iter=29 x=2.23613281 y=0.00028996 iter=30 x=2.23608398 y=0.00007159 iter=31 x=2.23605957 y=-0.00003760 iter=32 x=2.23608398 y=0.00007159 iter=33 x=2.23607178 y=0.00001699 iter=34 x=2.23606567 y=-0.00001030 iter=35 x=2.23607178 y=0.00001699 iter=36 x=2.23606873 y=0.00000335 iter=37 x=2.23606720 y=-0.00000348 iter=38 x=2.23606873 y=0.00000335

Page 65: Introduzione allUso dei Calcolatori (1) Uso dei Calcolatori in Fisica (3) Prof. Paolo Lotti Dr. Paolo Lotti Istituto Nazionale di Fisica Nucleare (INFN)

Calcolo di un integrale definito - quadratura

b

hb

ha

ha

ha

a

b

a

dxxfdxxfdxxfdxxf2

4

2

2

)(...)()()(

In particolare sarà sufficiente sapere come calcolare

h

h

dxxf )(

approssimando la funzione )(xf mediante un’espressione

che possa essere integrata esattamente in questo intervallo.

Introducendo un numero pari di intervalli nell’intervallodi integrazione [a,b] di larghezza h, l’integrale può essere riscritto nella forma seguente:

Page 66: Introduzione allUso dei Calcolatori (1) Uso dei Calcolatori in Fisica (3) Prof. Paolo Lotti Dr. Paolo Lotti Istituto Nazionale di Fisica Nucleare (INFN)

Definiamo, per alleggerire il formalismo,

0

1

1

)0(

)(

)(

ff

fhf

fhf

Page 67: Introduzione allUso dei Calcolatori (1) Uso dei Calcolatori in Fisica (3) Prof. Paolo Lotti Dr. Paolo Lotti Istituto Nazionale di Fisica Nucleare (INFN)

Il caso più semplice, regola dei trapezi, è quello di approssimare linearmente la funzione consideratanell’intervallo -h,0 e 0,+h:

)()(

)()()(

2010

2101

hOxh

fffxf

hOhxh

fffxf

rispettivamente. Conseguentemente:

)()2(2

)( 3101 hOfff

hdxxf

h

h

Page 68: Introduzione allUso dei Calcolatori (1) Uso dei Calcolatori in Fisica (3) Prof. Paolo Lotti Dr. Paolo Lotti Istituto Nazionale di Fisica Nucleare (INFN)

Un’approssimazione migliore si ottiene considerandol’espanzione in serie di Taylor all’ordine successivo:

)(2

2)( 32

210111

0 xOxh

fffx

h

fffxf

da cui:

)()4(3

)( 5101 hOfff

hdxxf

h

h

Osserviamo che la precisione di questa espressione èmigliore di quanto atteso dal momento che il terminesuccessivo a quello considerato nello sviluppo in serie di Taylor non contribuisce al calcolo dell’integrale.

Page 69: Introduzione allUso dei Calcolatori (1) Uso dei Calcolatori in Fisica (3) Prof. Paolo Lotti Dr. Paolo Lotti Istituto Nazionale di Fisica Nucleare (INFN)

Utilizzando queste espressioni si ottengono rispettivamentele espressioni complete per la regola dei trapezi e quella di Simpson:

...)2(2)(2)((2

)( hafhafafh

dxxfb

a

))()(2 bfhbf e

)2(2)(4)((3

)( hafhafafh

dxxfb

a

))()(4...)3(4 bfhbfhaf

Page 70: Introduzione allUso dei Calcolatori (1) Uso dei Calcolatori in Fisica (3) Prof. Paolo Lotti Dr. Paolo Lotti Istituto Nazionale di Fisica Nucleare (INFN)

# include <stdlib.h># include <stdio.h>main(){ int i,num[5]; for(i=1; i<=5; i=i++) num[i]=i*i; for(i=0; i<=5; i=i++) printf(" num[%2d]=%3d\n",i,num[i]);}

num[ 0]=-1073752240 num[ 1]= 1 num[ 2]= 4 num[ 3]= 9 num[ 4]= 16 num[ 5]= 25

Array (vettore)

Page 71: Introduzione allUso dei Calcolatori (1) Uso dei Calcolatori in Fisica (3) Prof. Paolo Lotti Dr. Paolo Lotti Istituto Nazionale di Fisica Nucleare (INFN)

/* Paolo Lotti 182668 - trape.c */# include <stdlib.h># include <stdio.h># include <math.h>double fun(double z);int main(void){ double a,b,x,dx,integ,exa; int N,N1,i,coef[1000],rest; printf(" Enter a,b:\n"); scanf("%lf,%lf",&a,&b); exa=fun(b)-fun(a);

Page 72: Introduzione allUso dei Calcolatori (1) Uso dei Calcolatori in Fisica (3) Prof. Paolo Lotti Dr. Paolo Lotti Istituto Nazionale di Fisica Nucleare (INFN)

a: printf(" Enter N:\n"); scanf("%d",&N); rest=N%2; if(rest!=0) { printf("N must be an even number!\n"); goto a; } dx=(b-a)/N; printf("h=%lf\n\n",dx); N1=N+1; coef[1]=1; coef[N1]=coef[1]; for(i=2; i<=N; i=i+1) { coef[i]=2; }

Page 73: Introduzione allUso dei Calcolatori (1) Uso dei Calcolatori in Fisica (3) Prof. Paolo Lotti Dr. Paolo Lotti Istituto Nazionale di Fisica Nucleare (INFN)

integ=0.; for(i=1; i<=N1; i=i+1) { printf(" coef[%2d]=%1d\n",i,coef[i]); x=a+(i-1)*dx; integ=integ+coef[i]*fun(x); } integ=integ*dx/2.; printf("\n integ= %lf exact= %lf\n",integ,exa); return 0;}double fun(double g){ double p; p=exp(g); return p;}

Page 74: Introduzione allUso dei Calcolatori (1) Uso dei Calcolatori in Fisica (3) Prof. Paolo Lotti Dr. Paolo Lotti Istituto Nazionale di Fisica Nucleare (INFN)

/* Paolo Lotti 182668 - simp.c */# include <stdlib.h># include <stdio.h># include <math.h>double fun(double z);int main(void){ double a,b,x,dx,integ,exa; int N,N1,i,ifac,coef[1000],rest; printf(" Enter a,b:\n"); scanf("%lf,%lf",&a,&b); exa=fun(b)-fun(a);

Page 75: Introduzione allUso dei Calcolatori (1) Uso dei Calcolatori in Fisica (3) Prof. Paolo Lotti Dr. Paolo Lotti Istituto Nazionale di Fisica Nucleare (INFN)

a: printf(" Enter N:\n"); scanf("%d",&N); rest=N%2; if(rest!=0) { printf("N must be an even number!\n"); goto a; } dx=(b-a)/N; printf("h=%lf\n",dx); N1=N+1; coef[1]=1; coef[N1]=coef[1];

Page 76: Introduzione allUso dei Calcolatori (1) Uso dei Calcolatori in Fisica (3) Prof. Paolo Lotti Dr. Paolo Lotti Istituto Nazionale di Fisica Nucleare (INFN)

ifac=2; for(i=2; i<=N; i=i+1) { ifac=6-ifac; coef[i]=ifac; } integ=0.; for(i=1; i<=N1; i=i+1) { printf(" coef[%2d]=%1d\n",i,coef[i]); x=a+(i-1)*dx; integ=integ+coef[i]*fun(x); }integ=integ*dx/3.; printf("\n integ= %lf exact= %lf\n",integ,exa); return 0; }

Page 77: Introduzione allUso dei Calcolatori (1) Uso dei Calcolatori in Fisica (3) Prof. Paolo Lotti Dr. Paolo Lotti Istituto Nazionale di Fisica Nucleare (INFN)

double fun(double g){ double p; p=exp(g); return p;}

Page 78: Introduzione allUso dei Calcolatori (1) Uso dei Calcolatori in Fisica (3) Prof. Paolo Lotti Dr. Paolo Lotti Istituto Nazionale di Fisica Nucleare (INFN)

N h trape simpson

4 0.25 1.727222 1.718319 10 0.10 1.719713 1.718283 20 0.05 1.718640 1.718282 50 0.02 1.718339 1.718282100 0.01 1.718296 1.718282

718282.111

0

edxex

Page 79: Introduzione allUso dei Calcolatori (1) Uso dei Calcolatori in Fisica (3) Prof. Paolo Lotti Dr. Paolo Lotti Istituto Nazionale di Fisica Nucleare (INFN)

N h trape simpson

4 0.75 19.971895 19.116965 10 0.30 19.228464 19.086387 20 0.15 19.121309 19.085590 50 0.06 19.091262 19.085538 100 0.03 19.086968 19.085537

085537.1913

0

3 edxex

Page 80: Introduzione allUso dei Calcolatori (1) Uso dei Calcolatori in Fisica (3) Prof. Paolo Lotti Dr. Paolo Lotti Istituto Nazionale di Fisica Nucleare (INFN)

Funzioni il cui argomento è di tipo double e restituiscono un numero anch’esso di tipo double:

acos(x) funzione trigonometrica inversa del coseno di x; il risultato è espresso in radianti ed è compreso tra 0 e

asin(x) funzione trigonometrica inversa del seno di x; il risultato è espresso in radianti ed è compreso tra

atan(x) funzione trigonometrica inversa della tangente di x; il risultato è espresso in radianti ed è compreso tra

cos(x) funzione trigonometrica che calcola il coseno di x, espresso in radianti

cosh(x) coseno iperbolico di x

2

2

,

2

2

,

Page 81: Introduzione allUso dei Calcolatori (1) Uso dei Calcolatori in Fisica (3) Prof. Paolo Lotti Dr. Paolo Lotti Istituto Nazionale di Fisica Nucleare (INFN)

exp(x) funzione esponenziale di x

log(x) logaritmo naturale di x

log10(x) logaritmo in base 10 di x

sin(x) funzione trigonometrica che calcola il seno di x espresso in radianti

sinh(x) seno iperbolico di x

sqrt(x) funzione radice quadrata di x

tan(x) funzione trigonometrica che calcola la tangente di x espresso in radianti

tanh(x) tangente iperbolica di x