introduzione alluso dei calcolatori (1) uso dei calcolatori in fisica (3) prof. paolo lotti dr....
TRANSCRIPT
![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)](https://reader036.vdocuments.pub/reader036/viewer/2022062312/5542eb4f497959361e8be566/html5/thumbnails/1.jpg)
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)](https://reader036.vdocuments.pub/reader036/viewer/2022062312/5542eb4f497959361e8be566/html5/thumbnails/2.jpg)
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)](https://reader036.vdocuments.pub/reader036/viewer/2022062312/5542eb4f497959361e8be566/html5/thumbnails/3.jpg)
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)](https://reader036.vdocuments.pub/reader036/viewer/2022062312/5542eb4f497959361e8be566/html5/thumbnails/4.jpg)
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)](https://reader036.vdocuments.pub/reader036/viewer/2022062312/5542eb4f497959361e8be566/html5/thumbnails/5.jpg)
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)](https://reader036.vdocuments.pub/reader036/viewer/2022062312/5542eb4f497959361e8be566/html5/thumbnails/6.jpg)
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)](https://reader036.vdocuments.pub/reader036/viewer/2022062312/5542eb4f497959361e8be566/html5/thumbnails/7.jpg)
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)](https://reader036.vdocuments.pub/reader036/viewer/2022062312/5542eb4f497959361e8be566/html5/thumbnails/8.jpg)
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)](https://reader036.vdocuments.pub/reader036/viewer/2022062312/5542eb4f497959361e8be566/html5/thumbnails/9.jpg)
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)](https://reader036.vdocuments.pub/reader036/viewer/2022062312/5542eb4f497959361e8be566/html5/thumbnails/10.jpg)
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)](https://reader036.vdocuments.pub/reader036/viewer/2022062312/5542eb4f497959361e8be566/html5/thumbnails/11.jpg)
… 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)](https://reader036.vdocuments.pub/reader036/viewer/2022062312/5542eb4f497959361e8be566/html5/thumbnails/12.jpg)
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)](https://reader036.vdocuments.pub/reader036/viewer/2022062312/5542eb4f497959361e8be566/html5/thumbnails/13.jpg)
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)](https://reader036.vdocuments.pub/reader036/viewer/2022062312/5542eb4f497959361e8be566/html5/thumbnails/14.jpg)
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)](https://reader036.vdocuments.pub/reader036/viewer/2022062312/5542eb4f497959361e8be566/html5/thumbnails/15.jpg)
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)](https://reader036.vdocuments.pub/reader036/viewer/2022062312/5542eb4f497959361e8be566/html5/thumbnails/16.jpg)
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)](https://reader036.vdocuments.pub/reader036/viewer/2022062312/5542eb4f497959361e8be566/html5/thumbnails/17.jpg)
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)](https://reader036.vdocuments.pub/reader036/viewer/2022062312/5542eb4f497959361e8be566/html5/thumbnails/18.jpg)
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)](https://reader036.vdocuments.pub/reader036/viewer/2022062312/5542eb4f497959361e8be566/html5/thumbnails/19.jpg)
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)](https://reader036.vdocuments.pub/reader036/viewer/2022062312/5542eb4f497959361e8be566/html5/thumbnails/20.jpg)
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)](https://reader036.vdocuments.pub/reader036/viewer/2022062312/5542eb4f497959361e8be566/html5/thumbnails/21.jpg)
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)](https://reader036.vdocuments.pub/reader036/viewer/2022062312/5542eb4f497959361e8be566/html5/thumbnails/22.jpg)
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)](https://reader036.vdocuments.pub/reader036/viewer/2022062312/5542eb4f497959361e8be566/html5/thumbnails/23.jpg)
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)](https://reader036.vdocuments.pub/reader036/viewer/2022062312/5542eb4f497959361e8be566/html5/thumbnails/24.jpg)
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)](https://reader036.vdocuments.pub/reader036/viewer/2022062312/5542eb4f497959361e8be566/html5/thumbnails/25.jpg)
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)](https://reader036.vdocuments.pub/reader036/viewer/2022062312/5542eb4f497959361e8be566/html5/thumbnails/26.jpg)
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)](https://reader036.vdocuments.pub/reader036/viewer/2022062312/5542eb4f497959361e8be566/html5/thumbnails/27.jpg)
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)](https://reader036.vdocuments.pub/reader036/viewer/2022062312/5542eb4f497959361e8be566/html5/thumbnails/28.jpg)
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)](https://reader036.vdocuments.pub/reader036/viewer/2022062312/5542eb4f497959361e8be566/html5/thumbnails/29.jpg)
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 31: Introduzione allUso dei Calcolatori (1) Uso dei Calcolatori in Fisica (3) Prof. Paolo Lotti Dr. Paolo Lotti Istituto Nazionale di Fisica Nucleare (INFN)](https://reader036.vdocuments.pub/reader036/viewer/2022062312/5542eb4f497959361e8be566/html5/thumbnails/31.jpg)
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)](https://reader036.vdocuments.pub/reader036/viewer/2022062312/5542eb4f497959361e8be566/html5/thumbnails/32.jpg)
Importante
Tipico esempio del file .forward
[email protected],\lotti
Se si usa, come da me erroneamente detto,
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)](https://reader036.vdocuments.pub/reader036/viewer/2022062312/5542eb4f497959361e8be566/html5/thumbnails/33.jpg)
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)](https://reader036.vdocuments.pub/reader036/viewer/2022062312/5542eb4f497959361e8be566/html5/thumbnails/34.jpg)
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)](https://reader036.vdocuments.pub/reader036/viewer/2022062312/5542eb4f497959361e8be566/html5/thumbnails/35.jpg)
# 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)](https://reader036.vdocuments.pub/reader036/viewer/2022062312/5542eb4f497959361e8be566/html5/thumbnails/36.jpg)
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)](https://reader036.vdocuments.pub/reader036/viewer/2022062312/5542eb4f497959361e8be566/html5/thumbnails/37.jpg)
)()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)](https://reader036.vdocuments.pub/reader036/viewer/2022062312/5542eb4f497959361e8be566/html5/thumbnails/38.jpg)
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)](https://reader036.vdocuments.pub/reader036/viewer/2022062312/5542eb4f497959361e8be566/html5/thumbnails/39.jpg)
/* 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)](https://reader036.vdocuments.pub/reader036/viewer/2022062312/5542eb4f497959361e8be566/html5/thumbnails/40.jpg)
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)](https://reader036.vdocuments.pub/reader036/viewer/2022062312/5542eb4f497959361e8be566/html5/thumbnails/41.jpg)
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)](https://reader036.vdocuments.pub/reader036/viewer/2022062312/5542eb4f497959361e8be566/html5/thumbnails/42.jpg)
#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)](https://reader036.vdocuments.pub/reader036/viewer/2022062312/5542eb4f497959361e8be566/html5/thumbnails/43.jpg)
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)](https://reader036.vdocuments.pub/reader036/viewer/2022062312/5542eb4f497959361e8be566/html5/thumbnails/44.jpg)
#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)](https://reader036.vdocuments.pub/reader036/viewer/2022062312/5542eb4f497959361e8be566/html5/thumbnails/45.jpg)
#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)](https://reader036.vdocuments.pub/reader036/viewer/2022062312/5542eb4f497959361e8be566/html5/thumbnails/46.jpg)
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)](https://reader036.vdocuments.pub/reader036/viewer/2022062312/5542eb4f497959361e8be566/html5/thumbnails/47.jpg)
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)](https://reader036.vdocuments.pub/reader036/viewer/2022062312/5542eb4f497959361e8be566/html5/thumbnails/48.jpg)
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)](https://reader036.vdocuments.pub/reader036/viewer/2022062312/5542eb4f497959361e8be566/html5/thumbnails/49.jpg)
#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)](https://reader036.vdocuments.pub/reader036/viewer/2022062312/5542eb4f497959361e8be566/html5/thumbnails/50.jpg)
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)](https://reader036.vdocuments.pub/reader036/viewer/2022062312/5542eb4f497959361e8be566/html5/thumbnails/51.jpg)
/* 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)](https://reader036.vdocuments.pub/reader036/viewer/2022062312/5542eb4f497959361e8be566/html5/thumbnails/52.jpg)
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)](https://reader036.vdocuments.pub/reader036/viewer/2022062312/5542eb4f497959361e8be566/html5/thumbnails/53.jpg)
#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)](https://reader036.vdocuments.pub/reader036/viewer/2022062312/5542eb4f497959361e8be566/html5/thumbnails/54.jpg)
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)](https://reader036.vdocuments.pub/reader036/viewer/2022062312/5542eb4f497959361e8be566/html5/thumbnails/55.jpg)
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)](https://reader036.vdocuments.pub/reader036/viewer/2022062312/5542eb4f497959361e8be566/html5/thumbnails/56.jpg)
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)](https://reader036.vdocuments.pub/reader036/viewer/2022062312/5542eb4f497959361e8be566/html5/thumbnails/57.jpg)
/* 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)](https://reader036.vdocuments.pub/reader036/viewer/2022062312/5542eb4f497959361e8be566/html5/thumbnails/58.jpg)
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)](https://reader036.vdocuments.pub/reader036/viewer/2022062312/5542eb4f497959361e8be566/html5/thumbnails/59.jpg)
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)](https://reader036.vdocuments.pub/reader036/viewer/2022062312/5542eb4f497959361e8be566/html5/thumbnails/60.jpg)
/* 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)](https://reader036.vdocuments.pub/reader036/viewer/2022062312/5542eb4f497959361e8be566/html5/thumbnails/61.jpg)
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)](https://reader036.vdocuments.pub/reader036/viewer/2022062312/5542eb4f497959361e8be566/html5/thumbnails/62.jpg)
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)](https://reader036.vdocuments.pub/reader036/viewer/2022062312/5542eb4f497959361e8be566/html5/thumbnails/63.jpg)
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)](https://reader036.vdocuments.pub/reader036/viewer/2022062312/5542eb4f497959361e8be566/html5/thumbnails/64.jpg)
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)](https://reader036.vdocuments.pub/reader036/viewer/2022062312/5542eb4f497959361e8be566/html5/thumbnails/65.jpg)
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)](https://reader036.vdocuments.pub/reader036/viewer/2022062312/5542eb4f497959361e8be566/html5/thumbnails/66.jpg)
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)](https://reader036.vdocuments.pub/reader036/viewer/2022062312/5542eb4f497959361e8be566/html5/thumbnails/67.jpg)
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)](https://reader036.vdocuments.pub/reader036/viewer/2022062312/5542eb4f497959361e8be566/html5/thumbnails/68.jpg)
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)](https://reader036.vdocuments.pub/reader036/viewer/2022062312/5542eb4f497959361e8be566/html5/thumbnails/69.jpg)
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)](https://reader036.vdocuments.pub/reader036/viewer/2022062312/5542eb4f497959361e8be566/html5/thumbnails/70.jpg)
# 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)](https://reader036.vdocuments.pub/reader036/viewer/2022062312/5542eb4f497959361e8be566/html5/thumbnails/71.jpg)
/* 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)](https://reader036.vdocuments.pub/reader036/viewer/2022062312/5542eb4f497959361e8be566/html5/thumbnails/72.jpg)
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)](https://reader036.vdocuments.pub/reader036/viewer/2022062312/5542eb4f497959361e8be566/html5/thumbnails/73.jpg)
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)](https://reader036.vdocuments.pub/reader036/viewer/2022062312/5542eb4f497959361e8be566/html5/thumbnails/74.jpg)
/* 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)](https://reader036.vdocuments.pub/reader036/viewer/2022062312/5542eb4f497959361e8be566/html5/thumbnails/75.jpg)
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)](https://reader036.vdocuments.pub/reader036/viewer/2022062312/5542eb4f497959361e8be566/html5/thumbnails/76.jpg)
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)](https://reader036.vdocuments.pub/reader036/viewer/2022062312/5542eb4f497959361e8be566/html5/thumbnails/77.jpg)
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)](https://reader036.vdocuments.pub/reader036/viewer/2022062312/5542eb4f497959361e8be566/html5/thumbnails/78.jpg)
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)](https://reader036.vdocuments.pub/reader036/viewer/2022062312/5542eb4f497959361e8be566/html5/thumbnails/79.jpg)
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)](https://reader036.vdocuments.pub/reader036/viewer/2022062312/5542eb4f497959361e8be566/html5/thumbnails/80.jpg)
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)](https://reader036.vdocuments.pub/reader036/viewer/2022062312/5542eb4f497959361e8be566/html5/thumbnails/81.jpg)
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