Lezione 2:open-sourcescientifico
Alessio Cimarelli
ProgrammazioneLibrerie
Compilatori
Debugging
Computazionesimbolica enumericaComputazionesimbolica
Computazionenumerica
Analisi statistica
Simulazione dicircuiti
Analisi dati eplottingAnalisi dati
Plotting (and reverse)
E tanto altro. . .
gnuplot
Conclusioni
disponibile su magentawww.accatagliato.org
Lezione 2: open-source scientificoSeconda lezione del minicorso Open-source per fisici
Alessio jenkin [email protected]
19 novembre 2009
Lezione 2:open-sourcescientifico
Alessio Cimarelli
ProgrammazioneLibrerie
Compilatori
Debugging
Computazionesimbolica enumericaComputazionesimbolica
Computazionenumerica
Analisi statistica
Simulazione dicircuiti
Analisi dati eplottingAnalisi dati
Plotting (and reverse)
E tanto altro. . .
gnuplot
Conclusioni
Sommario
1 ProgrammazioneLibrerieCompilatoriDebugging
2 Computazione simbolica e numericaComputazione simbolicaComputazione numerica
3 Analisi statistica4 Simulazione di circuiti5 Analisi dati e plotting
Analisi datiPlotting (and reverse)
6 E tanto altro. . .7 gnuplot8 Conclusioni
Lezione 2:open-sourcescientifico
Alessio Cimarelli
ProgrammazioneLibrerie
Compilatori
Debugging
Computazionesimbolica enumericaComputazionesimbolica
Computazionenumerica
Analisi statistica
Simulazione dicircuiti
Analisi dati eplottingAnalisi dati
Plotting (and reverse)
E tanto altro. . .
gnuplot
Conclusioni
LinguaggiC, C++, fortran, python, shell, java, php, . . .
Linguaggio compilatoPer linguaggio compilato si intende un linguaggio di programmazione cheprevede la traduzione una tantum del codice sorgente, in genere un fi-le di puro testo predisposto dal programmatore, in linguaggio macchina;la traduzione viene eseguita da un programma detto compilatore. Ese-guita la traduzione in linguaggio macchina, si ottiene un file eseguibile.
BasicC, C++, D
FortranLisp
CobolPascal
Linguaggio interpretatoUn interprete ha lo scopo di eseguire un programma in un linguaggio di alto livello,senza la previa compilazione dello stesso. Esso, infatti, ha il compito di eseguire leistruzioni nel linguaggio usato, traducendole di volta in volta in istruzioni in linguag-gio macchina. Lo scripting engine è un motore che interpreta liste di comandi,dette script, formulati con una sintassi determinata, detta linguaggio di scripting.
PerlPython
MATLABRuby
Java (±)Bash
Lezione 2:open-sourcescientifico
Alessio Cimarelli
ProgrammazioneLibrerie
Compilatori
Debugging
Computazionesimbolica enumericaComputazionesimbolica
Computazionenumerica
Analisi statistica
Simulazione dicircuiti
Analisi dati eplottingAnalisi dati
Plotting (and reverse)
E tanto altro. . .
gnuplot
Conclusioni
LinguaggiC, C++, fortran, python, shell, java, php, . . .
Linguaggio compilatoPer linguaggio compilato si intende un linguaggio di programmazione cheprevede la traduzione una tantum del codice sorgente, in genere un fi-le di puro testo predisposto dal programmatore, in linguaggio macchina;la traduzione viene eseguita da un programma detto compilatore. Ese-guita la traduzione in linguaggio macchina, si ottiene un file eseguibile.
BasicC, C++, D
FortranLisp
CobolPascal
Linguaggio interpretatoUn interprete ha lo scopo di eseguire un programma in un linguaggio di alto livello,senza la previa compilazione dello stesso. Esso, infatti, ha il compito di eseguire leistruzioni nel linguaggio usato, traducendole di volta in volta in istruzioni in linguag-gio macchina. Lo scripting engine è un motore che interpreta liste di comandi,dette script, formulati con una sintassi determinata, detta linguaggio di scripting.
PerlPython
MATLABRuby
Java (±)Bash
Lezione 2:open-sourcescientifico
Alessio Cimarelli
ProgrammazioneLibrerie
Compilatori
Debugging
Computazionesimbolica enumericaComputazionesimbolica
Computazionenumerica
Analisi statistica
Simulazione dicircuiti
Analisi dati eplottingAnalisi dati
Plotting (and reverse)
E tanto altro. . .
gnuplot
Conclusioni
LinguaggiC, C++, fortran, python, shell, java, php, . . .
Linguaggio compilatoPer linguaggio compilato si intende un linguaggio di programmazione cheprevede la traduzione una tantum del codice sorgente, in genere un fi-le di puro testo predisposto dal programmatore, in linguaggio macchina;la traduzione viene eseguita da un programma detto compilatore. Ese-guita la traduzione in linguaggio macchina, si ottiene un file eseguibile.
BasicC, C++, D
FortranLisp
CobolPascal
Linguaggio interpretatoUn interprete ha lo scopo di eseguire un programma in un linguaggio di alto livello,senza la previa compilazione dello stesso. Esso, infatti, ha il compito di eseguire leistruzioni nel linguaggio usato, traducendole di volta in volta in istruzioni in linguag-gio macchina. Lo scripting engine è un motore che interpreta liste di comandi,dette script, formulati con una sintassi determinata, detta linguaggio di scripting.
PerlPython
MATLABRuby
Java (±)Bash
Lezione 2:open-sourcescientifico
Alessio Cimarelli
ProgrammazioneLibrerie
Compilatori
Debugging
Computazionesimbolica enumericaComputazionesimbolica
Computazionenumerica
Analisi statistica
Simulazione dicircuiti
Analisi dati eplottingAnalisi dati
Plotting (and reverse)
E tanto altro. . .
gnuplot
Conclusioni
Sommario
1 ProgrammazioneLibrerieCompilatoriDebugging
2 Computazione simbolica e numericaComputazione simbolicaComputazione numerica
3 Analisi statistica4 Simulazione di circuiti5 Analisi dati e plotting
Analisi datiPlotting (and reverse)
6 E tanto altro. . .7 gnuplot8 Conclusioni
Lezione 2:open-sourcescientifico
Alessio Cimarelli
ProgrammazioneLibrerie
Compilatori
Debugging
Computazionesimbolica enumericaComputazionesimbolica
Computazionenumerica
Analisi statistica
Simulazione dicircuiti
Analisi dati eplottingAnalisi dati
Plotting (and reverse)
E tanto altro. . .
gnuplot
Conclusioni
Librerie C / C++gsl, cgal, cernlib, . . .
Si programma sempre con uno scopo preciso ben a mente:1 elaborare una strategia per giungere al risultato2 scomporla ed analizzarne tutti i passaggi necessari3 per ogni operazione elaborare un algoritmo semplice4 nel 99.99% dei casi il codice che serve è stato già scritto!5 cercare cercare cercare in Rete6 archiviare tutto ciò che si scopre e inglobare più librerie
possibili da riutilizzare
Qualche suggerimentohttp://www.trumphurst.com/cpplibs1.html
http://www.thefreecountry.com/sourcecode/cpp.shtml
http://www.google.com/codesearch
Lezione 2:open-sourcescientifico
Alessio Cimarelli
ProgrammazioneLibrerie
Compilatori
Debugging
Computazionesimbolica enumericaComputazionesimbolica
Computazionenumerica
Analisi statistica
Simulazione dicircuiti
Analisi dati eplottingAnalisi dati
Plotting (and reverse)
E tanto altro. . .
gnuplot
Conclusioni
Librerie C / C++gsl, cgal, cernlib, . . .
Si programma sempre con uno scopo preciso ben a mente:1 elaborare una strategia per giungere al risultato2 scomporla ed analizzarne tutti i passaggi necessari3 per ogni operazione elaborare un algoritmo semplice4 nel 99.99% dei casi il codice che serve è stato già scritto!5 cercare cercare cercare in Rete6 archiviare tutto ciò che si scopre e inglobare più librerie
possibili da riutilizzare
Qualche suggerimentohttp://www.trumphurst.com/cpplibs1.html
http://www.thefreecountry.com/sourcecode/cpp.shtml
http://www.google.com/codesearch
Lezione 2:open-sourcescientifico
Alessio Cimarelli
ProgrammazioneLibrerie
Compilatori
Debugging
Computazionesimbolica enumericaComputazionesimbolica
Computazionenumerica
Analisi statistica
Simulazione dicircuiti
Analisi dati eplottingAnalisi dati
Plotting (and reverse)
E tanto altro. . .
gnuplot
Conclusioni
Sommario
1 ProgrammazioneLibrerieCompilatoriDebugging
2 Computazione simbolica e numericaComputazione simbolicaComputazione numerica
3 Analisi statistica4 Simulazione di circuiti5 Analisi dati e plotting
Analisi datiPlotting (and reverse)
6 E tanto altro. . .7 gnuplot8 Conclusioni
Lezione 2:open-sourcescientifico
Alessio Cimarelli
ProgrammazioneLibrerie
Compilatori
Debugging
Computazionesimbolica enumericaComputazionesimbolica
Computazionenumerica
Analisi statistica
Simulazione dicircuiti
Analisi dati eplottingAnalisi dati
Plotting (and reverse)
E tanto altro. . .
gnuplot
Conclusioni
Compilatorigcc, g++, g77, . . .
Un compilatore è un programma che traduce
una serie di istruzioni scritte in un determinato
linguaggio di programmazione (codice
sorgente) in istruzioni di un altro linguaggio
(codice oggetto). Questo processo di
traduzione si chiama compilazione. Molti
compilatori implementano il linguaggio in modo
incompleto, o aggiungono estensioni
proprietarie, creando in effetti dei dialetti di
ciascun linguaggio. Per i linguaggi che
adottano uno standard nella decorazione dei
simboli, il codice oggetto generato da
compilatori differenti può essere linkato
assieme in un unico eseguibile
Compilatori C / C++: Clang (Apple), GCC/G++ (GNU), Open64(Google & others), PathScale (SiCortex), TenDRA (TenDRAProject), . . .
Lezione 2:open-sourcescientifico
Alessio Cimarelli
ProgrammazioneLibrerie
Compilatori
Debugging
Computazionesimbolica enumericaComputazionesimbolica
Computazionenumerica
Analisi statistica
Simulazione dicircuiti
Analisi dati eplottingAnalisi dati
Plotting (and reverse)
E tanto altro. . .
gnuplot
Conclusioni
CompilatoriGNU Make
Makefile, questo sconosciuto
make è una utility usata con i sistemi operativi della famiglia UNIXche automatizza il processo di conversione dei file da una formaad un’altra, risolvendo le dipendenze e invocando programmiesterni per il lavoro necessario. Molto frequentemente è usato perla compilazione di codice sorgente in codice oggetto, unendo epoi linkando il codice oggetto in eseguibili o in librerie. Esso usafile chiamati makefiles per determinare il grafo delle dipendenzeper un particolare output, e gli script necessari per lacompilazione da passare alla shell.helloworld: helloworld.occ -o $@ $<helloworld.o: helloworld.ccc -c -o $@ $<.PHONY: cleanclean:-rm -f helloworld helloworld.o
Lezione 2:open-sourcescientifico
Alessio Cimarelli
ProgrammazioneLibrerie
Compilatori
Debugging
Computazionesimbolica enumericaComputazionesimbolica
Computazionenumerica
Analisi statistica
Simulazione dicircuiti
Analisi dati eplottingAnalisi dati
Plotting (and reverse)
E tanto altro. . .
gnuplot
Conclusioni
Sommario
1 ProgrammazioneLibrerieCompilatoriDebugging
2 Computazione simbolica e numericaComputazione simbolicaComputazione numerica
3 Analisi statistica4 Simulazione di circuiti5 Analisi dati e plotting
Analisi datiPlotting (and reverse)
6 E tanto altro. . .7 gnuplot8 Conclusioni
Lezione 2:open-sourcescientifico
Alessio Cimarelli
ProgrammazioneLibrerie
Compilatori
Debugging
Computazionesimbolica enumericaComputazionesimbolica
Computazionenumerica
Analisi statistica
Simulazione dicircuiti
Analisi dati eplottingAnalisi dati
Plotting (and reverse)
E tanto altro. . .
gnuplot
Conclusioni
Debugginga cura di Gianluca norman86 Malato
www.topolinux.org/ezine_articles.php?art_id=39
Debugger GNU By Gianluca norman86 Malato
Cos'è un debugger?
Trovare e rimuovere gli errori di un programma è un'operazione chiamata debugging
È un programma che permette di eseguire un altro programmauna riga di codice alla volta, permettendo di controllare e modificare il valore delle variabili in ogni istante, con lo scopodi trovare e rimuovere errori nel funzionamento.
Non si tratta di errori di sintassi (che vengono segnalati dal compilatore), ma di errori di programmazione per i quali il programma fa delle cose diverse da quelle che avrebbe voluto il programmatore.
gcc -g -o prog programma.cgcc -g -o prog programma.c
GDB è l'acronimo di GNU Debugger. È il debugger ufficiale dei sistemi Linux.
Una piccola guida in italiano sul suo funzionamento si può trovare alla pagina
Affinché un programma in linguaggio C sia controllabile da GDBè necessario compilarlo con l'opzione g
Debugger GNU
gdb proggdb prog
Per avviare il debugger sul programma prog, digitare da terminale
http://www.topolinux.org/ezine_articles.php?art_id=39
Debugger GNU
Avviato il debugger, la prima cosa da fare è definire un breakpoint, ovvero una riga di codice o una funzione alla quale l'esecuzione del programma va interrotta
(gdb) break main(gdb) break main
(gdb) break 71(gdb) break 71
Breakpoint all'inizio della funzione main
Breakpoint alla riga 71
(gdb) break programma.c:71(gdb) break programma.c:71 Breakpoint alla riga 71 del file programma.c
(gdb) run argomento1 argomento2 argomento3(gdb) run argomento1 argomento2 argomento3
Definiti i breakpoint, si avvia il programma con
dove argomento1, argomento2 e argomento3 sono parametri opzionali che il programma può ricevere dalla riga di comando
Debugger GNU
Il debugger eseguirà il programma e si fermerà al primo breakpoint che incontra durante l'esecuzione.
(gdb) print variabile (gdb) print variabile
(gdb) list (gdb) list
(gdb) set var variabile=valore (gdb) set var variabile=valore
(gdb) next (gdb) next
(gdb) step (gdb) step
Mostra sullo schermo il valore di variabile
Mostra alcune righe di codice prima e dopo la riga attuale
Imposta il valore di una variabile
Passa alla riga di codice successiva
Passa alla riga di codice successiva entrando nel codice di una funzione se essa è chiamata nella riga attuale
(gdb) continue (gdb) continue
(gdb) quit (gdb) quit
Continua l'esecuzione fino al successivo breakpoint
Esce dal debugger
Lezione 2:open-sourcescientifico
Alessio Cimarelli
ProgrammazioneLibrerie
Compilatori
Debugging
Computazionesimbolica enumericaComputazionesimbolica
Computazionenumerica
Analisi statistica
Simulazione dicircuiti
Analisi dati eplottingAnalisi dati
Plotting (and reverse)
E tanto altro. . .
gnuplot
Conclusioni
Sommario
1 ProgrammazioneLibrerieCompilatoriDebugging
2 Computazione simbolica e numericaComputazione simbolicaComputazione numerica
3 Analisi statistica4 Simulazione di circuiti5 Analisi dati e plotting
Analisi datiPlotting (and reverse)
6 E tanto altro. . .7 gnuplot8 Conclusioni
Lezione 2:open-sourcescientifico
Alessio Cimarelli
ProgrammazioneLibrerie
Compilatori
Debugging
Computazionesimbolica enumericaComputazionesimbolica
Computazionenumerica
Analisi statistica
Simulazione dicircuiti
Analisi dati eplottingAnalisi dati
Plotting (and reverse)
E tanto altro. . .
gnuplot
Conclusioni
Computazione simbolicaDa Mathematica a Sage
Manipolazione simbolica nell’ambito dell’algebra, dell’analisisuperiore, della teoria dei numeri, dei calcoli combinatori, . . .
Software proprietari
MathematicaSi tratta del più famoso e ver-satile software per il calcolosia simbolico che numerico,concepito originariamente daStephen Wolfram nel 1988:140$ per studenti.
Maple
Sviluppato dal 1980, ha fun-zionalità molto simili a Mathe-matica, anche se ha meno dif-fusione (merito del genio im-prenditoriale di Wolfram): 99$per studenti.
Alternative open-source
Axiom, Cadabra (algebra dei tensori, teoria dei campi), Co-coa (calcoli polinomiali), Jacal (manipolazione simbolica inte-rattiva), JAS (algebra non-commutativa), Mathomatic (algebraelementare), Maxima, . . .
Lezione 2:open-sourcescientifico
Alessio Cimarelli
ProgrammazioneLibrerie
Compilatori
Debugging
Computazionesimbolica enumericaComputazionesimbolica
Computazionenumerica
Analisi statistica
Simulazione dicircuiti
Analisi dati eplottingAnalisi dati
Plotting (and reverse)
E tanto altro. . .
gnuplot
Conclusioni
Computazione simbolicaDa Mathematica a Sage
Manipolazione simbolica nell’ambito dell’algebra, dell’analisisuperiore, della teoria dei numeri, dei calcoli combinatori, . . .
Software proprietari
MathematicaSi tratta del più famoso e ver-satile software per il calcolosia simbolico che numerico,concepito originariamente daStephen Wolfram nel 1988:140$ per studenti.
Maple
Sviluppato dal 1980, ha fun-zionalità molto simili a Mathe-matica, anche se ha meno dif-fusione (merito del genio im-prenditoriale di Wolfram): 99$per studenti.
Alternative open-source
Axiom, Cadabra (algebra dei tensori, teoria dei campi), Co-coa (calcoli polinomiali), Jacal (manipolazione simbolica inte-rattiva), JAS (algebra non-commutativa), Mathomatic (algebraelementare), Maxima, . . .
Lezione 2:open-sourcescientifico
Alessio Cimarelli
ProgrammazioneLibrerie
Compilatori
Debugging
Computazionesimbolica enumericaComputazionesimbolica
Computazionenumerica
Analisi statistica
Simulazione dicircuiti
Analisi dati eplottingAnalisi dati
Plotting (and reverse)
E tanto altro. . .
gnuplot
Conclusioni
Computazione simbolicaDa Mathematica a Sage
Manipolazione simbolica nell’ambito dell’algebra, dell’analisisuperiore, della teoria dei numeri, dei calcoli combinatori, . . .
Software proprietari
MathematicaSi tratta del più famoso e ver-satile software per il calcolosia simbolico che numerico,concepito originariamente daStephen Wolfram nel 1988:140$ per studenti.
Maple
Sviluppato dal 1980, ha fun-zionalità molto simili a Mathe-matica, anche se ha meno dif-fusione (merito del genio im-prenditoriale di Wolfram): 99$per studenti.
Alternative open-source
Axiom, Cadabra (algebra dei tensori, teoria dei campi), Co-coa (calcoli polinomiali), Jacal (manipolazione simbolica inte-rattiva), JAS (algebra non-commutativa), Mathomatic (algebraelementare), Maxima, . . .
Lezione 2:open-sourcescientifico
Alessio Cimarelli
ProgrammazioneLibrerie
Compilatori
Debugging
Computazionesimbolica enumericaComputazionesimbolica
Computazionenumerica
Analisi statistica
Simulazione dicircuiti
Analisi dati eplottingAnalisi dati
Plotting (and reverse)
E tanto altro. . .
gnuplot
Conclusioni
MaximaIl più completo Computer Algebra System open-source
Cos’èSviluppato dal 1982 basandosi su un progettodel 1968, è un sistema completo di algebra sim-bolica, ma possiede anche estese capacità dicomputazione numerica, anche con la possibili-tà di interfacciarsi con programmi esterni. Per laproduzione di grafici si appoggia a gnuplot.
Come appare
L’interfaccia di base è da linea di comando (stilegnuplot), ma esiste una versatile interfaccia gra-fica sviluppata mediante wxWidgets, molto similea quella di Mathematica. Si scrivono le equazio-ni in formato standard, è possibile visualizzarneun rendering, risolverle, manipolarle ed esportarequanto occorre in codice LATEX.
Lezione 2:open-sourcescientifico
Alessio Cimarelli
ProgrammazioneLibrerie
Compilatori
Debugging
Computazionesimbolica enumericaComputazionesimbolica
Computazionenumerica
Analisi statistica
Simulazione dicircuiti
Analisi dati eplottingAnalisi dati
Plotting (and reverse)
E tanto altro. . .
gnuplot
Conclusioni
MaximaIl più completo Computer Algebra System open-source
Cos’èSviluppato dal 1982 basandosi su un progettodel 1968, è un sistema completo di algebra sim-bolica, ma possiede anche estese capacità dicomputazione numerica, anche con la possibili-tà di interfacciarsi con programmi esterni. Per laproduzione di grafici si appoggia a gnuplot.
Come appare
L’interfaccia di base è da linea di comando (stilegnuplot), ma esiste una versatile interfaccia gra-fica sviluppata mediante wxWidgets, molto similea quella di Mathematica. Si scrivono le equazio-ni in formato standard, è possibile visualizzarneun rendering, risolverle, manipolarle ed esportarequanto occorre in codice LATEX.
Lezione 2:open-sourcescientifico
Alessio Cimarelli
ProgrammazioneLibrerie
Compilatori
Debugging
Computazionesimbolica enumericaComputazionesimbolica
Computazionenumerica
Analisi statistica
Simulazione dicircuiti
Analisi dati eplottingAnalisi dati
Plotting (and reverse)
E tanto altro. . .
gnuplot
Conclusioni
SageUn metaprogramma che li usi tutti
Una filosofia vincenteLa filosofia con cui William Stein ha progettatoSage è semplice e geniale:
Scrivere da zero un sistema di computazionealgebrica richiede migliaia di ore di lavoroCi sono funzione e programmi di calcolo giàben testati e funzionanti
Quindi ha prodotto semplicemente un’interfacciacomune tra più di 30 applicazioni open-source giàdisponibili.
Come appare
Il linguaggio con cui è scritto è il versatilissimo Py-thon, di cui è richiesta la conoscenza per usare ilsoftware.
Lezione 2:open-sourcescientifico
Alessio Cimarelli
ProgrammazioneLibrerie
Compilatori
Debugging
Computazionesimbolica enumericaComputazionesimbolica
Computazionenumerica
Analisi statistica
Simulazione dicircuiti
Analisi dati eplottingAnalisi dati
Plotting (and reverse)
E tanto altro. . .
gnuplot
Conclusioni
SageUn metaprogramma che li usi tutti
Una filosofia vincenteLa filosofia con cui William Stein ha progettatoSage è semplice e geniale:
Scrivere da zero un sistema di computazionealgebrica richiede migliaia di ore di lavoroCi sono funzione e programmi di calcolo giàben testati e funzionanti
Quindi ha prodotto semplicemente un’interfacciacomune tra più di 30 applicazioni open-source giàdisponibili.
Come appare
Il linguaggio con cui è scritto è il versatilissimo Py-thon, di cui è richiesta la conoscenza per usare ilsoftware.
Lezione 2:open-sourcescientifico
Alessio Cimarelli
ProgrammazioneLibrerie
Compilatori
Debugging
Computazionesimbolica enumericaComputazionesimbolica
Computazionenumerica
Analisi statistica
Simulazione dicircuiti
Analisi dati eplottingAnalisi dati
Plotting (and reverse)
E tanto altro. . .
gnuplot
Conclusioni
Sommario
1 ProgrammazioneLibrerieCompilatoriDebugging
2 Computazione simbolica e numericaComputazione simbolicaComputazione numerica
3 Analisi statistica4 Simulazione di circuiti5 Analisi dati e plotting
Analisi datiPlotting (and reverse)
6 E tanto altro. . .7 gnuplot8 Conclusioni
Lezione 2:open-sourcescientifico
Alessio Cimarelli
ProgrammazioneLibrerie
Compilatori
Debugging
Computazionesimbolica enumericaComputazionesimbolica
Computazionenumerica
Analisi statistica
Simulazione dicircuiti
Analisi dati eplottingAnalisi dati
Plotting (and reverse)
E tanto altro. . .
gnuplot
Conclusioni
Computazione numericaDa Matlab a Octave
Software proprietari
Matlab
È probabilmente il più potente e diffuso soft-ware per il calcolo numerico, usato soprattut-to nella modellizzazione e nell’ingegneria. Èlo standard de facto nell’industria (∼ 2400$,prezzo pieno). Il suo punto di forza è senz’altrola manipolazione del calcolo matriciale com-plesso. Il linguaggio di programmazione chene è alla base è ad oggetti.
???Incredibilmenteha fatto piazzapulita, non ci sonosoftware proprietarianaloghi, che alme-no si avvicinino alsuo livello.
Alternative open-source
GNU Octave, FreeMat, Scilab, Monkey Analytics (web interface),Python libraries, . . .
Lezione 2:open-sourcescientifico
Alessio Cimarelli
ProgrammazioneLibrerie
Compilatori
Debugging
Computazionesimbolica enumericaComputazionesimbolica
Computazionenumerica
Analisi statistica
Simulazione dicircuiti
Analisi dati eplottingAnalisi dati
Plotting (and reverse)
E tanto altro. . .
gnuplot
Conclusioni
Computazione numericaDa Matlab a Octave
Software proprietari
Matlab
È probabilmente il più potente e diffuso soft-ware per il calcolo numerico, usato soprattut-to nella modellizzazione e nell’ingegneria. Èlo standard de facto nell’industria (∼ 2400$,prezzo pieno). Il suo punto di forza è senz’altrola manipolazione del calcolo matriciale com-plesso. Il linguaggio di programmazione chene è alla base è ad oggetti.
???Incredibilmenteha fatto piazzapulita, non ci sonosoftware proprietarianaloghi, che alme-no si avvicinino alsuo livello.
Alternative open-source
GNU Octave, FreeMat, Scilab, Monkey Analytics (web interface),Python libraries, . . .
Lezione 2:open-sourcescientifico
Alessio Cimarelli
ProgrammazioneLibrerie
Compilatori
Debugging
Computazionesimbolica enumericaComputazionesimbolica
Computazionenumerica
Analisi statistica
Simulazione dicircuiti
Analisi dati eplottingAnalisi dati
Plotting (and reverse)
E tanto altro. . .
gnuplot
Conclusioni
GNU OctaveComputazione numerica compatibile con MATLAB sotto GPL
Cos’èSviluppato dal 1992 con in mente la necessità direndere il linguaggio il più possibile compatibilecon quello di MATLAB, è ormai un prodotto matu-ro, molto ben supportato, con un numero di esten-sioni e librerie aggiuntive impressionante, tantoche comincia ad essere usato ufficialmente anchein alcuni ambiti accademici e industriali.
Come appare
L’interfaccia grafica è sostanzialmente una corni-ce al terminale. Si usa un linguaggio molto vicinoa C (non è ad oggetti), tanto che è possibile inter-facciarsi con librerie C esterne. In molti aspetti èsimile a quello di MATLAB e con poche modifichelo si può trasportare dall’uno all’altro. Si appoggiaa gnuplot e Grace per la produzione dei grafici.
Lezione 2:open-sourcescientifico
Alessio Cimarelli
ProgrammazioneLibrerie
Compilatori
Debugging
Computazionesimbolica enumericaComputazionesimbolica
Computazionenumerica
Analisi statistica
Simulazione dicircuiti
Analisi dati eplottingAnalisi dati
Plotting (and reverse)
E tanto altro. . .
gnuplot
Conclusioni
GNU OctaveComputazione numerica compatibile con MATLAB sotto GPL
Cos’èSviluppato dal 1992 con in mente la necessità direndere il linguaggio il più possibile compatibilecon quello di MATLAB, è ormai un prodotto matu-ro, molto ben supportato, con un numero di esten-sioni e librerie aggiuntive impressionante, tantoche comincia ad essere usato ufficialmente anchein alcuni ambiti accademici e industriali.
Come appare
L’interfaccia grafica è sostanzialmente una corni-ce al terminale. Si usa un linguaggio molto vicinoa C (non è ad oggetti), tanto che è possibile inter-facciarsi con librerie C esterne. In molti aspetti èsimile a quello di MATLAB e con poche modifichelo si può trasportare dall’uno all’altro. Si appoggiaa gnuplot e Grace per la produzione dei grafici.
Lezione 2:open-sourcescientifico
Alessio Cimarelli
ProgrammazioneLibrerie
Compilatori
Debugging
Computazionesimbolica enumericaComputazionesimbolica
Computazionenumerica
Analisi statistica
Simulazione dicircuiti
Analisi dati eplottingAnalisi dati
Plotting (and reverse)
E tanto altro. . .
gnuplot
Conclusioni
SciLabComputazione numerica che parla francese
Cos’èSviluppato dal 1990, si tratta di un linguaggio diprogrammazione di alto livello, fortemente orien-tato alla manipolazione di oggetti complessi comevettori e matrici. I suoi punti di forza sono l’ana-lisi di segnale, l’analisi statistica, le simulazioni difluidodinamica, l’ottimizzazione numerica.
Le estensioniIl punto di forza di Scilab, così come di tutti i soft-ware open-source, è l’estensibilità infinita graziea moduli prodotti dalla comunità di utenti avanza-ti. Ad esempio SciCos, che permette di simula-re facilmente sistemi dinamici impliciti ed espliciti,continui e discreti.
Lezione 2:open-sourcescientifico
Alessio Cimarelli
ProgrammazioneLibrerie
Compilatori
Debugging
Computazionesimbolica enumericaComputazionesimbolica
Computazionenumerica
Analisi statistica
Simulazione dicircuiti
Analisi dati eplottingAnalisi dati
Plotting (and reverse)
E tanto altro. . .
gnuplot
Conclusioni
SciLabComputazione numerica che parla francese
Cos’èSviluppato dal 1990, si tratta di un linguaggio diprogrammazione di alto livello, fortemente orien-tato alla manipolazione di oggetti complessi comevettori e matrici. I suoi punti di forza sono l’ana-lisi di segnale, l’analisi statistica, le simulazioni difluidodinamica, l’ottimizzazione numerica.
Le estensioniIl punto di forza di Scilab, così come di tutti i soft-ware open-source, è l’estensibilità infinita graziea moduli prodotti dalla comunità di utenti avanza-ti. Ad esempio SciCos, che permette di simula-re facilmente sistemi dinamici impliciti ed espliciti,continui e discreti.
Lezione 2:open-sourcescientifico
Alessio Cimarelli
ProgrammazioneLibrerie
Compilatori
Debugging
Computazionesimbolica enumericaComputazionesimbolica
Computazionenumerica
Analisi statistica
Simulazione dicircuiti
Analisi dati eplottingAnalisi dati
Plotting (and reverse)
E tanto altro. . .
gnuplot
Conclusioni
ROOTDal CERN con passione. . .
Cos’èSi tratta di un mastodontico e valido software perl’analisi dati, l’analisi statistica e il data mining, svi-luppato al CERN dal 1994. Sostanzialmente sitratta di una collezione di librerie in Fortran e C++sviluppata specificatamente per la fisica delle alteenergie, ma applicabile anche in altri campi.
Come appare
Da linea di comando, la sintassi è sostanzialmen-te quella del C++. In ambiti accademici si usa perlo più in remoto. È lo standard per quanto riguardal’analisi degli eventi a LHC.
Lezione 2:open-sourcescientifico
Alessio Cimarelli
ProgrammazioneLibrerie
Compilatori
Debugging
Computazionesimbolica enumericaComputazionesimbolica
Computazionenumerica
Analisi statistica
Simulazione dicircuiti
Analisi dati eplottingAnalisi dati
Plotting (and reverse)
E tanto altro. . .
gnuplot
Conclusioni
ROOTDal CERN con passione. . .
Cos’èSi tratta di un mastodontico e valido software perl’analisi dati, l’analisi statistica e il data mining, svi-luppato al CERN dal 1994. Sostanzialmente sitratta di una collezione di librerie in Fortran e C++sviluppata specificatamente per la fisica delle alteenergie, ma applicabile anche in altri campi.
Come appare
Da linea di comando, la sintassi è sostanzialmen-te quella del C++. In ambiti accademici si usa perlo più in remoto. È lo standard per quanto riguardal’analisi degli eventi a LHC.
Lezione 2:open-sourcescientifico
Alessio Cimarelli
ProgrammazioneLibrerie
Compilatori
Debugging
Computazionesimbolica enumericaComputazionesimbolica
Computazionenumerica
Analisi statistica
Simulazione dicircuiti
Analisi dati eplottingAnalisi dati
Plotting (and reverse)
E tanto altro. . .
gnuplot
Conclusioni
Analisi statisticaDa SPSS a R
Software proprietari
SPSSAi vertici dell’analisi statisticaprofessionale dal 1968 (oggidell’IBM), è il punto di riferi-mento per tutto l’ambito del-le scienze sociali. Ha unenorme numero di strumentiper l’analisi descrittiva, la sta-tistica bivariata, le regressionilineari, l’analisi per gruppi.
STATISTICAConcorrenza della StatSoft,fa praticamente le stesse co-se di SPSS: grosso modostessi strumenti, simile lapossibilità di espanderne lecapacità comprando appositiplug-in.
Alternative open-source
Ce ne sono davvero molte, ma si distinguono GNU gretl, PSPP el’inarrivabile R.
Lezione 2:open-sourcescientifico
Alessio Cimarelli
ProgrammazioneLibrerie
Compilatori
Debugging
Computazionesimbolica enumericaComputazionesimbolica
Computazionenumerica
Analisi statistica
Simulazione dicircuiti
Analisi dati eplottingAnalisi dati
Plotting (and reverse)
E tanto altro. . .
gnuplot
Conclusioni
Analisi statisticaDa SPSS a R
Software proprietari
SPSSAi vertici dell’analisi statisticaprofessionale dal 1968 (oggidell’IBM), è il punto di riferi-mento per tutto l’ambito del-le scienze sociali. Ha unenorme numero di strumentiper l’analisi descrittiva, la sta-tistica bivariata, le regressionilineari, l’analisi per gruppi.
STATISTICAConcorrenza della StatSoft,fa praticamente le stesse co-se di SPSS: grosso modostessi strumenti, simile lapossibilità di espanderne lecapacità comprando appositiplug-in.
Alternative open-source
Ce ne sono davvero molte, ma si distinguono GNU gretl, PSPP el’inarrivabile R.
Lezione 2:open-sourcescientifico
Alessio Cimarelli
ProgrammazioneLibrerie
Compilatori
Debugging
Computazionesimbolica enumericaComputazionesimbolica
Computazionenumerica
Analisi statistica
Simulazione dicircuiti
Analisi dati eplottingAnalisi dati
Plotting (and reverse)
E tanto altro. . .
gnuplot
Conclusioni
gretlGnu Regression, Econometrics and Time-series Library
Cos’è
È specificatamente dedicato all’econometria, tan-to da vantare vari articoli nelle riviste specialisti-che del settore. È corredato di interfaccia graficae si può affiancare ad R ed a gnuplot per i grafici.
Come appare
L’interfaccia è molto scarna e richiede il carica-mento di un file di dati. Ci sono molti esem-pi da cui partire e saltano subito agli occhi lenumerosissime funzioni di analisi disponibili.
Lezione 2:open-sourcescientifico
Alessio Cimarelli
ProgrammazioneLibrerie
Compilatori
Debugging
Computazionesimbolica enumericaComputazionesimbolica
Computazionenumerica
Analisi statistica
Simulazione dicircuiti
Analisi dati eplottingAnalisi dati
Plotting (and reverse)
E tanto altro. . .
gnuplot
Conclusioni
gretlGnu Regression, Econometrics and Time-series Library
Cos’è
È specificatamente dedicato all’econometria, tan-to da vantare vari articoli nelle riviste specialisti-che del settore. È corredato di interfaccia graficae si può affiancare ad R ed a gnuplot per i grafici.
Come appare
L’interfaccia è molto scarna e richiede il carica-mento di un file di dati. Ci sono molti esem-pi da cui partire e saltano subito agli occhi lenumerosissime funzioni di analisi disponibili.
Lezione 2:open-sourcescientifico
Alessio Cimarelli
ProgrammazioneLibrerie
Compilatori
Debugging
Computazionesimbolica enumericaComputazionesimbolica
Computazionenumerica
Analisi statistica
Simulazione dicircuiti
Analisi dati eplottingAnalisi dati
Plotting (and reverse)
E tanto altro. . .
gnuplot
Conclusioni
PSPPEquivalente open-source di SPSS
Cos’è
È un clone di SPSS, che si appoggia sulle GSLper i calcoli matematici e statistici. Permette diimportare i dati in un gran numero di formati e digestire anche il formato nativo di SPSS. Non è pe-rò senz’altro all’altezza del fratellastro maggiore,avendo molte meno funzioni ed essendo ancoraun poco troppo instabile per un uso intensivo.
Come appare
L’interfaccia grafica è molto simile a quella diSPSS, ma aprendo i menu di analisi la differenzaè netta: chilometrici i secondi, molto scarni i primi.Ma è già un buon software per l’analisi statisticadi base.
Lezione 2:open-sourcescientifico
Alessio Cimarelli
ProgrammazioneLibrerie
Compilatori
Debugging
Computazionesimbolica enumericaComputazionesimbolica
Computazionenumerica
Analisi statistica
Simulazione dicircuiti
Analisi dati eplottingAnalisi dati
Plotting (and reverse)
E tanto altro. . .
gnuplot
Conclusioni
PSPPEquivalente open-source di SPSS
Cos’è
È un clone di SPSS, che si appoggia sulle GSLper i calcoli matematici e statistici. Permette diimportare i dati in un gran numero di formati e digestire anche il formato nativo di SPSS. Non è pe-rò senz’altro all’altezza del fratellastro maggiore,avendo molte meno funzioni ed essendo ancoraun poco troppo instabile per un uso intensivo.
Come appare
L’interfaccia grafica è molto simile a quella diSPSS, ma aprendo i menu di analisi la differenzaè netta: chilometrici i secondi, molto scarni i primi.Ma è già un buon software per l’analisi statisticadi base.
Lezione 2:open-sourcescientifico
Alessio Cimarelli
ProgrammazioneLibrerie
Compilatori
Debugging
Computazionesimbolica enumericaComputazionesimbolica
Computazionenumerica
Analisi statistica
Simulazione dicircuiti
Analisi dati eplottingAnalisi dati
Plotting (and reverse)
E tanto altro. . .
gnuplot
Conclusioni
RUn linguaggio di programmazione per l’analisi statistica
Cos’è
È un linguaggio di programmazione vero e pro-prio e di fatto è lo standard per chi sviluppa soft-ware statistici o fa analisi dati di questo tipo. Èestremamente potente e versatile, viene affian-cato da numerosissimi pacchetti ed estensioni (acui si può accedere automaticamente attraverso imirror CRAN) ed ha anche eccellenti capacità diplotting.
Come appare
R è un software da linea di comando, ma diver-si progetti forniscono dei front-end grafici (ad es.gretl e Sage). Esiste poi R-commander, che for-nisce una finestra sobria in cui l’unico vantaggio èavere comandi e risultati separati in due box.
Lezione 2:open-sourcescientifico
Alessio Cimarelli
ProgrammazioneLibrerie
Compilatori
Debugging
Computazionesimbolica enumericaComputazionesimbolica
Computazionenumerica
Analisi statistica
Simulazione dicircuiti
Analisi dati eplottingAnalisi dati
Plotting (and reverse)
E tanto altro. . .
gnuplot
Conclusioni
RUn linguaggio di programmazione per l’analisi statistica
Cos’è
È un linguaggio di programmazione vero e pro-prio e di fatto è lo standard per chi sviluppa soft-ware statistici o fa analisi dati di questo tipo. Èestremamente potente e versatile, viene affian-cato da numerosissimi pacchetti ed estensioni (acui si può accedere automaticamente attraverso imirror CRAN) ed ha anche eccellenti capacità diplotting.
Come appare
R è un software da linea di comando, ma diver-si progetti forniscono dei front-end grafici (ad es.gretl e Sage). Esiste poi R-commander, che for-nisce una finestra sobria in cui l’unico vantaggio èavere comandi e risultati separati in due box.
Lezione 2:open-sourcescientifico
Alessio Cimarelli
ProgrammazioneLibrerie
Compilatori
Debugging
Computazionesimbolica enumericaComputazionesimbolica
Computazionenumerica
Analisi statistica
Simulazione dicircuiti
Analisi dati eplottingAnalisi dati
Plotting (and reverse)
E tanto altro. . .
gnuplot
Conclusioni
Simulazione di circuitiDa PSPICE a gEDA
SPICE: Simulation Program with Integrated Circuit Emphasis
Si tratta dello standard per quanto riguarda la simulazione di cir-cuiti elettronici analogici (non solo disegno architetturale, ma si-mulazione vera e propria). È utilizzato a livello industriale per ve-rificare il comportamento dei circuiti prima che vengano messi inproduzione.
Software proprietari
PSpice
Si tratta di un simulatore di circuiti analogi-ci e digitali che si appoggia a Spice e gi-ra su normali personal computer, dal 1984.Usato anche nei nostri laboratori.
???Praticamentenessunaconcorrenzaproprietaria. . .
Alternative open-sourceEsistono due tipologia di software per circuiti: EDA (Electronic design automation) per
disegnarli e i simulatori come Spice. Nel primo caso troviamo gEDA, nel secondo ngSpice.
Lezione 2:open-sourcescientifico
Alessio Cimarelli
ProgrammazioneLibrerie
Compilatori
Debugging
Computazionesimbolica enumericaComputazionesimbolica
Computazionenumerica
Analisi statistica
Simulazione dicircuiti
Analisi dati eplottingAnalisi dati
Plotting (and reverse)
E tanto altro. . .
gnuplot
Conclusioni
Simulazione di circuitiDa PSPICE a gEDA
SPICE: Simulation Program with Integrated Circuit Emphasis
Si tratta dello standard per quanto riguarda la simulazione di cir-cuiti elettronici analogici (non solo disegno architetturale, ma si-mulazione vera e propria). È utilizzato a livello industriale per ve-rificare il comportamento dei circuiti prima che vengano messi inproduzione.
Software proprietari
PSpice
Si tratta di un simulatore di circuiti analogi-ci e digitali che si appoggia a Spice e gi-ra su normali personal computer, dal 1984.Usato anche nei nostri laboratori.
???Praticamentenessunaconcorrenzaproprietaria. . .
Alternative open-sourceEsistono due tipologia di software per circuiti: EDA (Electronic design automation) per
disegnarli e i simulatori come Spice. Nel primo caso troviamo gEDA, nel secondo ngSpice.
Lezione 2:open-sourcescientifico
Alessio Cimarelli
ProgrammazioneLibrerie
Compilatori
Debugging
Computazionesimbolica enumericaComputazionesimbolica
Computazionenumerica
Analisi statistica
Simulazione dicircuiti
Analisi dati eplottingAnalisi dati
Plotting (and reverse)
E tanto altro. . .
gnuplot
Conclusioni
Simulazione di circuitiDa PSPICE a gEDA
SPICE: Simulation Program with Integrated Circuit Emphasis
Si tratta dello standard per quanto riguarda la simulazione di cir-cuiti elettronici analogici (non solo disegno architetturale, ma si-mulazione vera e propria). È utilizzato a livello industriale per ve-rificare il comportamento dei circuiti prima che vengano messi inproduzione.
Software proprietari
PSpice
Si tratta di un simulatore di circuiti analogi-ci e digitali che si appoggia a Spice e gi-ra su normali personal computer, dal 1984.Usato anche nei nostri laboratori.
???Praticamentenessunaconcorrenzaproprietaria. . .
Alternative open-sourceEsistono due tipologia di software per circuiti: EDA (Electronic design automation) per
disegnarli e i simulatori come Spice. Nel primo caso troviamo gEDA, nel secondo ngSpice.
Lezione 2:open-sourcescientifico
Alessio Cimarelli
ProgrammazioneLibrerie
Compilatori
Debugging
Computazionesimbolica enumericaComputazionesimbolica
Computazionenumerica
Analisi statistica
Simulazione dicircuiti
Analisi dati eplottingAnalisi dati
Plotting (and reverse)
E tanto altro. . .
gnuplot
Conclusioni
gEDAGPL Electronic Design Automation
Cos’èSi tratta di uno strumento molto potente per l’E-CAD (Electronic CAD), dal 1998. Il progetto svi-luppa diversi strumenti che si integrano perfetta-mente, oltre che una lista molto estesa di librerieaggiuntive.
Come appare
L’interfaccia grafica è sobria e funzionale, il dise-gno del circuito viene fatto con il drag ’n’ drop ela gestione dei collegamenti tra i vari elementi èintelligente.
Lezione 2:open-sourcescientifico
Alessio Cimarelli
ProgrammazioneLibrerie
Compilatori
Debugging
Computazionesimbolica enumericaComputazionesimbolica
Computazionenumerica
Analisi statistica
Simulazione dicircuiti
Analisi dati eplottingAnalisi dati
Plotting (and reverse)
E tanto altro. . .
gnuplot
Conclusioni
gEDAGPL Electronic Design Automation
Cos’èSi tratta di uno strumento molto potente per l’E-CAD (Electronic CAD), dal 1998. Il progetto svi-luppa diversi strumenti che si integrano perfetta-mente, oltre che una lista molto estesa di librerieaggiuntive.
Come appare
L’interfaccia grafica è sobria e funzionale, il dise-gno del circuito viene fatto con il drag ’n’ drop ela gestione dei collegamenti tra i vari elementi èintelligente.
Lezione 2:open-sourcescientifico
Alessio Cimarelli
ProgrammazioneLibrerie
Compilatori
Debugging
Computazionesimbolica enumericaComputazionesimbolica
Computazionenumerica
Analisi statistica
Simulazione dicircuiti
Analisi dati eplottingAnalisi dati
Plotting (and reverse)
E tanto altro. . .
gnuplot
Conclusioni
Ng-SpiceL’unione fa la forza
Cos’èIntegra in un unica interfaccia tre program-mi: Spice, Cider e Xspice. In questo modola precisione della simulazione è altissima (afronte naturalmente di un aumento del tempomacchina).
Come appare
Anche in questo caso l’interfaccia grafica è sobria,permette di costruire la struttura logica del circuitoe poi lanciare la simulazione.
Lezione 2:open-sourcescientifico
Alessio Cimarelli
ProgrammazioneLibrerie
Compilatori
Debugging
Computazionesimbolica enumericaComputazionesimbolica
Computazionenumerica
Analisi statistica
Simulazione dicircuiti
Analisi dati eplottingAnalisi dati
Plotting (and reverse)
E tanto altro. . .
gnuplot
Conclusioni
Ng-SpiceL’unione fa la forza
Cos’èIntegra in un unica interfaccia tre program-mi: Spice, Cider e Xspice. In questo modola precisione della simulazione è altissima (afronte naturalmente di un aumento del tempomacchina).
Come appare
Anche in questo caso l’interfaccia grafica è sobria,permette di costruire la struttura logica del circuitoe poi lanciare la simulazione.
Lezione 2:open-sourcescientifico
Alessio Cimarelli
ProgrammazioneLibrerie
Compilatori
Debugging
Computazionesimbolica enumericaComputazionesimbolica
Computazionenumerica
Analisi statistica
Simulazione dicircuiti
Analisi dati eplottingAnalisi dati
Plotting (and reverse)
E tanto altro. . .
gnuplot
Conclusioni
Sommario
1 ProgrammazioneLibrerieCompilatoriDebugging
2 Computazione simbolica e numericaComputazione simbolicaComputazione numerica
3 Analisi statistica4 Simulazione di circuiti5 Analisi dati e plotting
Analisi datiPlotting (and reverse)
6 E tanto altro. . .7 gnuplot8 Conclusioni
Lezione 2:open-sourcescientifico
Alessio Cimarelli
ProgrammazioneLibrerie
Compilatori
Debugging
Computazionesimbolica enumericaComputazionesimbolica
Computazionenumerica
Analisi statistica
Simulazione dicircuiti
Analisi dati eplottingAnalisi dati
Plotting (and reverse)
E tanto altro. . .
gnuplot
Conclusioni
Analisi datiDa Origin a QtiPlot
Software proprietari
ExcelNon c’è molto da di-re, forse nel primissi-mo laboratorio qualchematricola ha ancora lamalsana idea di usa-re Excel per fare un fitlineare... sic!
Origin
È il punto di riferimento accademicoper l’analisi dati: potentissimo moto-re di fit non-lineari, un’infinità di stru-menti di analisi, supporto per i grafici2D e 3D. Molto usato anche nel no-stro dipartimento, nonostante il prez-zo: 50$ per studenti, solo in USA oCanada.
Alternative open-source
QtiPlot, LabPlot, SigmaPlot (win), gnuplot, PAW (cern), MagicPlot(java), sciGraphica, . . .
Lezione 2:open-sourcescientifico
Alessio Cimarelli
ProgrammazioneLibrerie
Compilatori
Debugging
Computazionesimbolica enumericaComputazionesimbolica
Computazionenumerica
Analisi statistica
Simulazione dicircuiti
Analisi dati eplottingAnalisi dati
Plotting (and reverse)
E tanto altro. . .
gnuplot
Conclusioni
Analisi datiDa Origin a QtiPlot
Software proprietari
ExcelNon c’è molto da di-re, forse nel primissi-mo laboratorio qualchematricola ha ancora lamalsana idea di usa-re Excel per fare un fitlineare... sic!
Origin
È il punto di riferimento accademicoper l’analisi dati: potentissimo moto-re di fit non-lineari, un’infinità di stru-menti di analisi, supporto per i grafici2D e 3D. Molto usato anche nel no-stro dipartimento, nonostante il prez-zo: 50$ per studenti, solo in USA oCanada.
Alternative open-source
QtiPlot, LabPlot, SigmaPlot (win), gnuplot, PAW (cern), MagicPlot(java), sciGraphica, . . .
Lezione 2:open-sourcescientifico
Alessio Cimarelli
ProgrammazioneLibrerie
Compilatori
Debugging
Computazionesimbolica enumericaComputazionesimbolica
Computazionenumerica
Analisi statistica
Simulazione dicircuiti
Analisi dati eplottingAnalisi dati
Plotting (and reverse)
E tanto altro. . .
gnuplot
Conclusioni
LabPlot e sciGraphicaDue tentativi di inseguire Origin
LabPlotIspirato chiaramente ad Origin, si interfaccia conle principali librerie di calcolo numerico (GSL,Qwt3d, OpenGL, FFTW, . . . ) ed è molto flessi-bile. Produce grafici adatti alla pubblicazione, manon risulta superlativo nell’ambito del fitting.
sciGraphica
Si tratta di un altro clone di Origin, ma il suo svi-luppo è rimasto molto indietro e le sue capacitàsono ancora scarse rispetto all’originale.
Lezione 2:open-sourcescientifico
Alessio Cimarelli
ProgrammazioneLibrerie
Compilatori
Debugging
Computazionesimbolica enumericaComputazionesimbolica
Computazionenumerica
Analisi statistica
Simulazione dicircuiti
Analisi dati eplottingAnalisi dati
Plotting (and reverse)
E tanto altro. . .
gnuplot
Conclusioni
QtiplotL’Origin del pinguino
Cos’èSi tratta del tentativo di sviluppare una validaalternativa open-source a Origin, a mio avvi-so molto promettente e già pienamente usabile.Produce grafici di ottima qualità, già adatti allapubblicazione su rivista.
Come appare
L’interfaccia grafica è identica a quella di Origin,così come le finestre dei dati. Chi già usa Ori-gin non avrà problemi ad ambientarsi e a menodi utilizzi estremi, ritroverà tutte le funzioni utili, inun sistema molto più stabile e razionale di Origin.Le funzioni modello per i fit non sono molte, mapossono essere estese definendone di nuove (ilwizard è molto intuitivo) oppure caricando plug-inesterni.
Lezione 2:open-sourcescientifico
Alessio Cimarelli
ProgrammazioneLibrerie
Compilatori
Debugging
Computazionesimbolica enumericaComputazionesimbolica
Computazionenumerica
Analisi statistica
Simulazione dicircuiti
Analisi dati eplottingAnalisi dati
Plotting (and reverse)
E tanto altro. . .
gnuplot
Conclusioni
QtiplotL’Origin del pinguino
Cos’èSi tratta del tentativo di sviluppare una validaalternativa open-source a Origin, a mio avvi-so molto promettente e già pienamente usabile.Produce grafici di ottima qualità, già adatti allapubblicazione su rivista.
Come appare
L’interfaccia grafica è identica a quella di Origin,così come le finestre dei dati. Chi già usa Ori-gin non avrà problemi ad ambientarsi e a menodi utilizzi estremi, ritroverà tutte le funzioni utili, inun sistema molto più stabile e razionale di Origin.Le funzioni modello per i fit non sono molte, mapossono essere estese definendone di nuove (ilwizard è molto intuitivo) oppure caricando plug-inesterni.
Lezione 2:open-sourcescientifico
Alessio Cimarelli
ProgrammazioneLibrerie
Compilatori
Debugging
Computazionesimbolica enumericaComputazionesimbolica
Computazionenumerica
Analisi statistica
Simulazione dicircuiti
Analisi dati eplottingAnalisi dati
Plotting (and reverse)
E tanto altro. . .
gnuplot
Conclusioni
Sommario
1 ProgrammazioneLibrerieCompilatoriDebugging
2 Computazione simbolica e numericaComputazione simbolicaComputazione numerica
3 Analisi statistica4 Simulazione di circuiti5 Analisi dati e plotting
Analisi datiPlotting (and reverse)
6 E tanto altro. . .7 gnuplot8 Conclusioni
Lezione 2:open-sourcescientifico
Alessio Cimarelli
ProgrammazioneLibrerie
Compilatori
Debugging
Computazionesimbolica enumericaComputazionesimbolica
Computazionenumerica
Analisi statistica
Simulazione dicircuiti
Analisi dati eplottingAnalisi dati
Plotting (and reverse)
E tanto altro. . .
gnuplot
Conclusioni
PlottingL’arte di analizzare guardando...
Capire e far capire
In qualsiasi ambito di analisi dati, uno degli strumenti più potentiper capire cosa si sta facendo è guardare i dati negli occhi. Mo-strare su grafico i dati, grezzi o elaborati, è quindi un’operazioneimportante e delicata, tra l’altro necessaria una volta che ci si met-te al lavoro su una futura pubblicazione. La chiarezza e l’usabilitàdei grafici sono caratteristiche fondamentali.
Lezione 2:open-sourcescientifico
Alessio Cimarelli
ProgrammazioneLibrerie
Compilatori
Debugging
Computazionesimbolica enumericaComputazionesimbolica
Computazionenumerica
Analisi statistica
Simulazione dicircuiti
Analisi dati eplottingAnalisi dati
Plotting (and reverse)
E tanto altro. . .
gnuplot
Conclusioni
GraceGRaphing, Advanced Computation and Exploration of data
Cos’è
Si tratta di uno dei migliori plotter 2D su Linux. Èmolto usato in ambito accademico per prepara-re le illustrazioni per le pubblicazioni ufficiali, mapossiede anche avanzati strumenti di analisi, co-me fit non-lineari, deconvoluzioni, trasformazionidi Fourier e smoothing.
Come appare
L’interfaccia grafica è ricchissima, ma ben or-ganizzata: a differenza di tanti altri casi Graceè maggiormente utilizzabile mediante questa ri-spetto alla linea di comando. È inoltre utilizzataspesso da altri software proprio per le funzioni diplotting (ad es. GNU Octave).
Lezione 2:open-sourcescientifico
Alessio Cimarelli
ProgrammazioneLibrerie
Compilatori
Debugging
Computazionesimbolica enumericaComputazionesimbolica
Computazionenumerica
Analisi statistica
Simulazione dicircuiti
Analisi dati eplottingAnalisi dati
Plotting (and reverse)
E tanto altro. . .
gnuplot
Conclusioni
GraceGRaphing, Advanced Computation and Exploration of data
Cos’è
Si tratta di uno dei migliori plotter 2D su Linux. Èmolto usato in ambito accademico per prepara-re le illustrazioni per le pubblicazioni ufficiali, mapossiede anche avanzati strumenti di analisi, co-me fit non-lineari, deconvoluzioni, trasformazionidi Fourier e smoothing.
Come appare
L’interfaccia grafica è ricchissima, ma ben or-ganizzata: a differenza di tanti altri casi Graceè maggiormente utilizzabile mediante questa ri-spetto alla linea di comando. È inoltre utilizzataspesso da altri software proprio per le funzioni diplotting (ad es. GNU Octave).
Lezione 2:open-sourcescientifico
Alessio Cimarelli
ProgrammazioneLibrerie
Compilatori
Debugging
Computazionesimbolica enumericaComputazionesimbolica
Computazionenumerica
Analisi statistica
Simulazione dicircuiti
Analisi dati eplottingAnalisi dati
Plotting (and reverse)
E tanto altro. . .
gnuplot
Conclusioni
AvizAtomistic Simulation Vizualization software
Cos’èGraficare aggregati discreti tridimensionali è tra lecose più difficili, soprattutto per evidenziare infor-mazioni utili per un’analisi esplicita. Aviz permettedi visualizzare facilmente strutture atomiche e so-prattutto spin-glass, anche dinamicamente duran-te una simulazione. Permette di colorare interatti-vamente gli elementi, in base a parametri passatinel file che contiene la descrizione della struttura.
Come appare
L’interfaccia grafica è molto scarna, ma la finestradi navigazione è molto funzionale (anche se pocointuitiva all’inizio) e il rendering è piuttosto veloce.
Lezione 2:open-sourcescientifico
Alessio Cimarelli
ProgrammazioneLibrerie
Compilatori
Debugging
Computazionesimbolica enumericaComputazionesimbolica
Computazionenumerica
Analisi statistica
Simulazione dicircuiti
Analisi dati eplottingAnalisi dati
Plotting (and reverse)
E tanto altro. . .
gnuplot
Conclusioni
AvizAtomistic Simulation Vizualization software
Cos’èGraficare aggregati discreti tridimensionali è tra lecose più difficili, soprattutto per evidenziare infor-mazioni utili per un’analisi esplicita. Aviz permettedi visualizzare facilmente strutture atomiche e so-prattutto spin-glass, anche dinamicamente duran-te una simulazione. Permette di colorare interatti-vamente gli elementi, in base a parametri passatinel file che contiene la descrizione della struttura.
Come appare
L’interfaccia grafica è molto scarna, ma la finestradi navigazione è molto funzionale (anche se pocointuitiva all’inizio) e il rendering è piuttosto veloce.
Lezione 2:open-sourcescientifico
Alessio Cimarelli
ProgrammazioneLibrerie
Compilatori
Debugging
Computazionesimbolica enumericaComputazionesimbolica
Computazionenumerica
Analisi statistica
Simulazione dicircuiti
Analisi dati eplottingAnalisi dati
Plotting (and reverse)
E tanto altro. . .
gnuplot
Conclusioni
g3dataRicavare i dati dai grafici pubblicati
Cos’èEcco un software inatteso e utilissimo. Quan-te volte avete trovato in un articolo grafici di da-ti... senza dati? Per esempio spettri? g3datapermette di splottare il grafico, ricavando dall’im-magine i dati originali con un certo errore as-sociato (sostanzialmente dovuto alla risoluzionedell’immagine).
Come appare
L’interfaccia grafica è molto semplice: si carical’immagine, si fissa l’origine degli assi e la scaladi misura e il programma ricava le coordinate deipunti sul grafico, fornendo una tabella dei dati.
Lezione 2:open-sourcescientifico
Alessio Cimarelli
ProgrammazioneLibrerie
Compilatori
Debugging
Computazionesimbolica enumericaComputazionesimbolica
Computazionenumerica
Analisi statistica
Simulazione dicircuiti
Analisi dati eplottingAnalisi dati
Plotting (and reverse)
E tanto altro. . .
gnuplot
Conclusioni
g3dataRicavare i dati dai grafici pubblicati
Cos’èEcco un software inatteso e utilissimo. Quan-te volte avete trovato in un articolo grafici di da-ti... senza dati? Per esempio spettri? g3datapermette di splottare il grafico, ricavando dall’im-magine i dati originali con un certo errore as-sociato (sostanzialmente dovuto alla risoluzionedell’immagine).
Come appare
L’interfaccia grafica è molto semplice: si carical’immagine, si fissa l’origine degli assi e la scaladi misura e il programma ricava le coordinate deipunti sul grafico, fornendo una tabella dei dati.
Lezione 2:open-sourcescientifico
Alessio Cimarelli
ProgrammazioneLibrerie
Compilatori
Debugging
Computazionesimbolica enumericaComputazionesimbolica
Computazionenumerica
Analisi statistica
Simulazione dicircuiti
Analisi dati eplottingAnalisi dati
Plotting (and reverse)
E tanto altro. . .
gnuplot
Conclusioni
Altri software utiliCelestia, Boinc, . . .
Celestia è un fenomenale space simulator che permette di volareattraverso la nostra Galassia ed oltre, esplorando un numero incalcolabiledi oggetti ricavati dai principali cataloghi astronomici. Richiedenaturalmente una buona scheda video. La NASA e l’ESA usano Celestianei loro programmi educativi o nelle mostre, e risulta molto utile anchecome interfaccia grafica per il programmi di analisi delle traiettorie.
Si tratta dell’infrastruttura sviluppata a Berkeley per la computazioneparallela e distribuita. Si tratta sostanzialmente di un piccolo programmalocale che comunica con server remoti, scarica sul computer dati daanalizzare e sfrutta i tempi morti della CPU per portare avanti analisi moltocomplesse, affrontabili solo con il calcolo distribuito. Il progetto più famosoè senz’altro SETI@home, ma ce ne sono decine attivi al momento.
Lezione 2:open-sourcescientifico
Alessio Cimarelli
ProgrammazioneLibrerie
Compilatori
Debugging
Computazionesimbolica enumericaComputazionesimbolica
Computazionenumerica
Analisi statistica
Simulazione dicircuiti
Analisi dati eplottingAnalisi dati
Plotting (and reverse)
E tanto altro. . .
gnuplot
Conclusioni
GNUplotTanto bello quanto potente. . .
L’arte del graficare dati
Curiosamente non è distribuito sotto licensa GPL, ma ne ha unapropria, che protegge il codice sorgente dalle modifiche, ma per-mette di distribuirlo gratuitamente. È probabilmente il più potentestrumento di plotting esistente, oltre a possedere una routine difitting superlativa. Tra i suoi punti di forza, la capacità di gestireun numero enorme di formati in ingresso e uscita e l’integrazio-ne stretta con la shell di Linux. Interfaccia solo mediante linea dicomando.
http://www.gnuplot.info
Cos'è gnuplot? Dove si può trovare?
gnuplot è un software per la creazione di grafici. È utilizzabilecon Windows, Linux e Mac OS.
È disponibile il download gratuito dal sito
gnuplot è un programma che lavora dalla riga di comando, quindinon ha un'interfaccia grafica
Come installare gnuplot?
http://sourceforge.net/projects/gnuplot/files/
Visitare la pagina
scaricare la versione per il proprio sistema operativo e seguire le istruzioni per l'installazione contenute nel file INSTALL all'interno dell'archivio zip corrispondente
Su Ubuntu/Debian # apt-get install gnuplot
Su Fedora/Redhat # yum install gnuplot
Come avviare gnuplot?
● Su Linux o Mac OSAvviare una sessione del terminale e digitare:gnuplot
● Su WindowsPosizionarsi nella cartella dove è installato gnuplote fare doppio clic sul file wgnuplot.exe
Una finestra di gnuplot (su Linux)
plot cos(x)
Realizzare i grafici
plot cos(x) with linespoints \pointtype 3 \linecolor rgbcolor 'blue' \title 'Funzione coseno'
Realizzare i grafici
Il comando plot ammette diverse opzioni
plot cos(x) with linespoints \pointtype 3 \linecolor rgbcolor 'blue' \title 'Funzione coseno'
Realizzare i grafici
È possibile abbreviare i comandi di gnuplot
plot cos(x) w lp pt 3 lc rgb 'blue' t 'Funzione coseno'
plot cos(x), sin(x)
Realizzare i grafici
Più grafici sovrapposti
plot cos(x)replot sin(x)
set key left
Realizzare i grafici
Spostare la legenda
set key right
set key below
set key at 0,0
Legenda a sinistra
Legenda a destra
Legenda sotto l'asse delle ascisse
Legenda nel punto (0,0)
unset key Rimuovere la legenda
set xtics 1
Realizzare i grafici
Tacche sugli assi
Le tacche vengono spaziate di 1
set xtics 0.5 Le tacche vengono spaziate di 0.5
set xlabel 'Asse delle ascisse (in basso)'set ylabel 'Asse delle ordinate (a sinistra)'set x2label 'Asse delle ascisse (in alto)'set y2label 'Asse delle ordinate (a destra)'set title 'Titolo del grafico'
Realizzare i grafici
Impostare le etichette sugli assi e il titolo del grafico
set xrange [0:2*pi]set yr [-1:1]
Realizzare i grafici
Impostare il range di variazione dei valori sugli assi
plot [0:2*pi] [-1:1] (cos(x)+sin(x))/2
set log xy
Realizzare i grafici
Scala doppio logaritmica
Per ritornare alla scala lineare
unset log x
Scala logaritmica in base naturaleset log y exp(1)
set format x "%.2e"set format y "%1.t * 10^%T"set log yplot [1:5] exp(x)
Realizzare i grafici
Etichette sulla scalahelp set format specifiers
Per informazioni...
plot 'file.dat' using 1:2:3 with yerrorbarsplot 'file.dat' u 1:3:(abs($5-$3)/$5) w ye
Realizzare i grafici
Mostrare il contenuto di un file
plot 'file.dat' index 0:4:2
Realizzare i grafici
Se il file è composto da blocchi separati da 2 righe vuote
1 4.52 6.33 5.7
1 6.42 4.73 1.4
...
...
Verranno mostrati i dati dei blocchi dal primo al quinto saltando i blocchi di due in due
Notare che gli indici partono da 0
Esempi
plot 'file.dat' index 4
plot 'file.dat' index 4:9
file.dat
Realizzare i grafici
È possibile utilizzare l'output di un comando come sorgente di dati da mostrare
plot '< grep Particella1 file.dat' u 2:3
Particella1 1 4.5Particella1 2 6.3Particella2 3 5.7Particella1 1 6.4Particella2 2 4.7Particella2 3 1.4
plot '< comando'
Mostrare soltanto i dati etichettati con Particella1file.dat
plot 'hist.dat' w boxes
Realizzare i grafici
Istogrammi
plot 'griglia.dat' w vec
Realizzare i grafici
Campi vettoriali
r(x,y) = sqrt(x**2+y**2)epsilon = 1q = 3
Ex(x,y)=(r(x,y)>=epsilon) ? q*x/r(x,y)**3 : 0.0Ey(x,y)=(r(x,y)>=epsilon) ? q*y/r(x,y)**3 : 0.0
plot 'griglia.dat' u 1:2:(Ex($1,$2)):(Ey($1,$2)) w vec
Il file 'griglia.dat' deve contenere le coordinate dei punti neiquali calcolare il campo
serve per evitare di mostrare frecce troppo grandi a causa della divergenza del campo in (0,0)
²~E(~r) =
8><>:
q
j~rj3~r se j~rj ¸ ²
0 se j~rj < ²
Realizzare i grafici
set label 3 “Testo” at 0.4,0.9 right
Realizzare i grafici
Inserire del testo
L'etichetta di testo verrà mostrata, aggiornata o rimossa con il successivo comando di plot (o replot)
Numero univoco che
identifica l'etichetta
Testo da visualizzare
Coordinate di un punto
di riferimento
Allineamento rispetto al punto
Questo comando crea una nuova etichetta o aggiorna l'etichetta contrassegnata con il numero scelto.
Per eliminare un'etichetta unset label 3
set arrow 3 from 0.5,0.6 to 0.4,1.7
Realizzare i grafici
Inserire frecce
La freccia verrà mostrata, aggiornata o rimossa con il successivo comando di plot (o replot)
Numero univoco che identifica la
freccia
Coordinate delpunto dipartenza
Coordinate del punto finale
Come per le etichette di testo, questo comando crea una nuova freccia o aggiorna la freccia contrassegnata con il numero scelto.
Per eliminare la freccia unset arrow 3
Realizzare i grafici
set xlabel "T" set ylabel "M" set label 1 "T_c = 2.269185" at 1.46377,0.21set arrow 1 from 1.88123,0.170785 to 2.26919,0plot [0:3] [0:1.2] 'ising2d.dat' w l notitle
help plot
Realizzare i grafici
Per leggere la guida riguardante un particolare comando, si puòusare la funzione help
splot x**2+y**y
Realizzare i grafici
Grafici 3D
Gli argomenti di splot sono gli stessi di plot
set isosamples 30,30
Realizzare i grafici
Infittire il campionamento
set contour base
Realizzare i grafici
Mostrare le curve di livello
set pm3d
Realizzare i grafici
Colorare le superfici
set hidden3dset pm3d
Realizzare i grafici
Eliminare la griglia di campionamento
Salvare i grafici
gnuplot permette di salvare i grafici creati usando il comando
save 'miografico.gp'
Il risultato è un file di testo formattato che contiene i comandinecessari a gnuplot per riprodurre l'ultimo grafico creato.
Per ripristinare il grafico si usa il comando
load 'miografico.gp'
Salvare i grafici
gnuplot permette di salvare i grafici anche in vari formati diimmagine
Jpeg
Postscript
EPS
PNG
GIF (anche animate)
EMF
...
Il più usato per le pubblicazioni scientifiche
Salvare i grafici
set terminal postscript color epsset out 'coseno.eps'plot cos(x)set out
L'ultimo comando set out è necessario per concludereil salvataggio del file.
Per ritornare a visualizzare il plot sullo schermo:
Per ulteriori informazioni:
help set terminal
set term x11
Il comando set terminal specifica il tipo di output. Il comando set out direziona il plot su un file anziché sullo schermo.
set term aqua
Linux Mac Windowsset term windows
Salvare i grafici
set terminal postscript color eps enhancedset out 'x_quadro.eps'plot x**2 title “x^2”set out
Apici, pedici e simboli speciali: opzione enhanced
Molti terminali supportano l'opzione enhanced, tra cui postscript
Salvare i grafici
Tutti i comandi si possono trovare nel file ps_guide.ps, reperibile in rete o nell'archivio di installazione dei sorgenti di gnuplot
e^x
A_{ij}
P={/Symbol r}kT
{/Symbol a \261 Da}
{/Symbol \341{/Times-Roman a}\361}
|T-T_c|^{/Symbol -g}
a§¢a
ex
Aij
hai
P = ½kT
jT ¡ Tcj¡°
Salvare i grafici
Terminale epslatex. L'immagine viene salvata in un formato importabile in LaTeX che ne eredita le proprietà di formattazione matematica
set terminal epslatex color set out 'sinquadro.tex'plot sin(x)**2 title "\\sin^2 x$set out
\usepackage{graphicx}\begin{document}...\input{prova.tex}...\end{document}
Salvare i grafici
Â2 =NX
i=1
µyi ¡ f(xij~a)
¾i
¶2
f(xj~a) ~a = (a1; a2; : : : ; an)
a1; a2; : : : ; an sono i parametri della funzione
gnuplot e i fit
gnuplot permette di eseguire fit dei minimi quadrati
Sia dato un insieme di con
Eseguire un fit dei minimi quadrati consiste nel trovare il set diparametri che rende minima la funzione
Essa è una variabile del “chi quadro” con gradi di libertà.N ¡ n
xi; yi; ¾i¾yiyi
¿ ¾xixi
gnuplot e i fit
Tipicamente, per trovare il minimo del , si cercano i valori deiparametri che ne annullano le derivate parziali e che corrispondonoa minimi relativi (studiando quindi la matrice hessiana).In caso di più minimi, si sceglie il minimo assoluto
@Â2
@ai= 0
Â2
Per curve “semplici” (funzioni lineari, polinomiali o riconducibilia queste), il problema ha una soluzione analitica.In tutti gli altri casi, bisogna usare algoritmi di minimizzazionenumerica.
gnuplot e i fit
gnuplot usa un algoritmo di minimizzazione numerica noto comealgoritmo di LevenbergMarquardt
Esso cerca il minimo del chi quadro partendo da un punto qualsiasi nello spazio dei parametri, fermandosi quando vieneraggiunta una soglia di tolleranza, ovvero quando il chi quadronon cambia troppo tra due iterazioni successive.
ATTENZIONE: l'algoritmo trova il minimo del chi quadro piùvicino al punto di partenza.
Se il minimo non è assoluto, il risultato è sbagliato!
f(x) = a*x + bfit f(x) 'dati.dat' u 1:2:3 via a,bplot 'dati.dat' u 1:2:3 w ye, f(x)
Esempio di fit con gnuplot
Sia dato un file di dati di nome dati.dat, contenente numeri dispostiin 3 colonne: ascissa, ordinata e errore statistico sull'ordinata.
gnuplot e i fit
fit [1.5:3.4] [0.5:4.9] f(x) 'dati.dat' u 1:2:3 via a,b
È possibile specificare l'insieme dei punti sui quali eseguire il fit
gnuplot e i fit
È bene inizializzare sempre i parametri del fit a valori ragionevoli
La tolleranza si può impostare tramite la variabile FIT_LIMIT.
Al passo , l'algoritmo produce un certo valore e si arresta quandon Â2n
jÂ2n ¡ Â2n¡1j · FIT_LIMIT
a = 4.9b = pif(x) = a*x + bfit f(x) 'dati.dat' u 2:3:5 via a,bplot 'dati.dat' u 2:3:5 w ye, f(x)
FIT_LIMIT = 1e-4
gnuplot e i fit
Gli errori sui parametri vengono trovati usando il comando
set fit errorvariables
Una volta trovato il chi quadro minimo, gnuplot trova l'erroresui parametri risolvendo numericamente (un parametro alla volta)l'equazione
Si può dimostrare che la quantità rappresentauna stima per eccesso dell'errore sul parametro
¢a = ja¡ a¤ja
Â2(a¤) = Â2min + 1
Regole generali per eseguire un buon fit
1. Impostare la precisione (FIT_LIMIT)2. Inizializzare i parametri3. Usare il comando set fit errorvariables per una migliore
stima degli errori sui parametri
gnuplot e i fit
FIT_LIMIT = 1e-6f(x) = a*x + ba = 1.0b = 4.5
set fit errfit [1.5:6.4] f(x) 'dati.dat' u 2:3:5 via a,b
plot 'dati.dat' u 2:3:5 w ye, f(x)print a,a_errprint b,b_err
Lezione 2:open-sourcescientifico
Alessio Cimarelli
ProgrammazioneLibrerie
Compilatori
Debugging
Computazionesimbolica enumericaComputazionesimbolica
Computazionenumerica
Analisi statistica
Simulazione dicircuiti
Analisi dati eplottingAnalisi dati
Plotting (and reverse)
E tanto altro. . .
gnuplot
Conclusioni
La prossima volta...Mondo LATEX!
Lezione numero 3: il meraviglioso pianeta LATEXFilosofia, utilità e regole di composizioneCenni sul funzionamento: classi e pacchettiEditor (Kyle,TexMaker, ..., Lyx)Guide e manuali (CTAN)Tesi, tesine, dissertazioni e articoli
Classi e pacchetti utili (CTAN)Utilizzo di baseMatematicaImmagini e graficiCompilazione: latex e pdfLatexErrori e debugging
Bibliografia con bibtexPresentazioni con Beamer
Regole generaliUso di base: stili e temiTransizioniOpzioni avanzate
Lezione 2:open-sourcescientifico
Alessio Cimarelli
ProgrammazioneLibrerie
Compilatori
Debugging
Computazionesimbolica enumericaComputazionesimbolica
Computazionenumerica
Analisi statistica
Simulazione dicircuiti
Analisi dati eplottingAnalisi dati
Plotting (and reverse)
E tanto altro. . .
gnuplot
Conclusioni
FineTUX vi ringrazia!
TUX vi ringrazia!