Guida rapida nella grafica scientifica con GNUplot. , con w = x + iy.



Похожие документы
Gnuplot: opzioni di funzionamento

Excel. A cura di Luigi Labonia. luigi.lab@libero.it

EXCEL PER WINDOWS95. sfruttare le potenzialità di calcolo dei personal computer. Essi si basano su un area di lavoro, detta foglio di lavoro,

Introduzione al Foglio Elettronico

Appunti di: MICROSOFT EXCEL

per immagini guida avanzata Organizzazione e controllo dei dati Geometra Luigi Amato Guida Avanzata per immagini excel

Analisi sensitività. Strumenti per il supporto alle decisioni nel processo di Valutazione d azienda

MS Word per la TESI. Barra degli strumenti. Rientri. Formattare un paragrafo. Cos è? Barra degli strumenti

FUNZIONE. Si scrive: A B f: A B x y=f(x) (si legge: f funzione da A in B) x f y= f(x)

RAPPRESENTAZIONE GRAFICA E ANALISI DEI DATI SPERIMENTALI CON EXCEL

PULSANTI E PAGINE Sommario PULSANTI E PAGINE...1

CMS ERMES INFORMATICA

7.4 Estrazione di materiale dal web

Visualizzazione grafica. dell'output di un programma con GNUplot

Fogli Elettronici: MS Excel

MODULO 4: FOGLIO ELETTRONICO (EXCEL)

Sistema operativo. Sommario. Sistema operativo...1 Browser...1. Convenzioni adottate

L analisi dei dati. Capitolo Il foglio elettronico

. A primi passi con microsoft a.ccepss SommarIo: i S 1. aprire e chiudere microsoft access Start (o avvio) l i b tutti i pro- grammi

Microsoft Excel. Il foglio elettronico Microsoft Excel Cartelle, Fogli di lavoro e celle Contenuto delle celle. Numeri, date, formule, testo, funzioni

Automatizzare i compiti ripetitivi. I file batch. File batch (1) File batch (2) Visualizzazione (2) Visualizzazione

Potenzialità statistiche Excel

Gestione delle informazioni necessarie all attività di validazione degli studi di settore. Trasmissione degli esempi da valutare.

RISOLUTORE AUTOMATICO PER SUDOKU

SW Legge 28/98 Sommario

APRIRE UN PROGRAMMA DI FOGLIO ELETTRONICO

TRASMISSIONE RAPPORTO ARBITRALE IN FORMATO PDF

Uso di base delle funzioni in Microsoft Excel

STRUMENTI PER L ACCESSIBILITÀ DEL COMPUTER.

La grafica. La built-in funzione grafica plot. x spezzata poligonale. discretizzato

Interpolazione ed approssimazione di funzioni

Cosa è un foglio elettronico

GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL

SISTEMI DI NUMERAZIONE E CODICI

Il controllo della visualizzazione

USO DI EXCEL CLASSE PRIMAI

E possibile modificare la lingua dei testi dell interfaccia utente, se in inglese o in italiano, dal menu [Tools

Mon Ami 3000 Varianti articolo Gestione di varianti articoli

Il concetto di valore medio in generale

Word è un elaboratore di testi in grado di combinare il testo con immagini, fogli di lavoro e

Prof.ssa Paola Vicard

Come costruire una distribuzione di frequenze per caratteri quantitativi continui

Excel avanzato. I nomi. Gli indirizzi e le formule possono essere sostituiti da nomi. Si creano tramite Inserisci Nome Definisci

per immagini guida avanzata Uso delle tabelle e dei grafici Pivot Geometra Luigi Amato Guida Avanzata per immagini excel

Sistemi di Numerazione

BARCODE. Gestione Codici a Barre. Release 4.90 Manuale Operativo

la scienza della rappresentazione e della elaborazione dell informazione

Prof.ssa Paola Vicard

LE FUNZIONI A DUE VARIABILI

Maxima: mini guida. Presentazione del software matematico MAXIMA

PORTALE CLIENTI Manuale utente

FORMULE: Operatori matematici

Come costruire una presentazione. PowerPoint 1. ! PowerPoint permette la realizzazione di presentazioni video ipertestuali, animate e multimediali

Guida all uso di Java Diagrammi ER

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti

Teoria in sintesi 10. Attività di sportello 1, 24 - Attività di sportello 2, 24 - Verifica conclusiva, 25. Teoria in sintesi 26

STUDIO DI UNA FUNZIONE

MANUALE UTENTE Fiscali Free

Registratori di Cassa

Il foglio elettronico: Excel

Esponenziali elogaritmi

Istruzioni di installazione di IBM SPSS Modeler Text Analytics (licenza per sito)

Un gioco con tre dadi

ISTRUZIONI SULLE OPERAZIONI DI CAMBIO ANNO CONTABILE 2005/2006 LIQUIDAZIONE IVA - STAMPA REGISTRI - CHIUSURA/APERTURA CONTI

7. Layer e proprietà degli oggetti

Manuale NetSupport v Liceo G. Cotta Marco Bolzon

WG-TRANSLATE Manuale Utente WG TRANSLATE. Pagina 1 di 15

Gestione ed analisi di base dati nell epidemiologia. delle malattie infettive

FUNZIONE REALE DI UNA VARIABILE

Hub-PA Versione Manuale utente

Prof.ssa Paola Vicard

LA FUNZIONE DI TRASFERIMENTO

1. Le macro in Access 2000/2003

Esame di Informatica CHE COS È UN FOGLIO ELETTRONICO CHE COS È UN FOGLIO ELETTRONICO CHE COS È UN FOGLIO ELETTRONICO. Facoltà di Scienze Motorie

UTILIZZO DEL MODULO DATA ENTRY PER L IMPORTAZIONE DEI DOCUMENTI (CICLO PASSIVO)

Introduzione allo Scilab Parte 1: numeri, variabili ed operatori elementari

Proposta di soluzione della prova di matematica Liceo scientifico di Ordinamento

Fogli Elettronici: MS Excel utilizzo avanzato

Comandi di Outlook Express Messaggi in partenza Comando Comandopulsante scelta rapida

Identificare le diverse parti di una finestra: barra del titolo, barra dei menu, barra degli strumenti, barra di stato, barra di scorrimento.

MANUALE PARCELLA FACILE PLUS INDICE

FIRESHOP.NET. Gestione della distinta base & della produzione.

IMPORTAZIONE DI GRAFICI E TABELLE DA EXCEL A WORD

4. Fondamenti per la produttività informatica

WORD per WINDOWS95. Un word processor e` come una macchina da scrivere ma. con molte più funzioni. Il testo viene battuto sulla tastiera

La distribuzione Normale. La distribuzione Normale

2 Argomenti introduttivi e generali

Introduzione a Dev-C++

GESGOLF SMS ONLINE. Manuale per l utente

Corso di Informatica

LA FINESTRA DI OPEN OFFICE CALC

Lezione 10: Il problema del consumatore: Preferenze e scelta ottimale

Per studio di funzione intendiamo un insieme di procedure che hanno lo scopo di analizzare le proprietà di una funzione f ( x) R R

Per chi ha la Virtual Machine: avviare Grass da terminale, andando su Applicazioni Accessori Terminale e scrivere grass

Word per iniziare: aprire il programma

Airone Gestione Rifiuti Funzioni di Esportazione e Importazione

5.3 TABELLE RECORD Inserire, eliminare record in una tabella Aggiungere record Eliminare record

Soluzione di equazioni quadratiche

A destra è delimitata dalla barra di scorrimento verticale, mentre in basso troviamo una riga complessa.

STRUMENTI DI PRESENTAZIONE MODULO 6

Транскрипт:

www.cm-physmath.net CM_Portable MATH Notebook Series Guida rapida nella grafica scientifica con GNUplot claudio magno Revisione giu. 2015

Guida rapida nella grafica scientifica con GNUplot II 3 Grafico in R di ( x ; y) Γ ( w) = z, con w = x + iy.

Guida rapida nella grafica scientifica con GNUplot III Introduzione Questo è un documento buttato giù, a tempo perso, da un utente occasionale (leggi pure: dilettante) per navigatori curiosi (seri nella loro curiosità ma non necessariamente navigati ) e per altri utenti occasionali. Certo, c è di molto meglio nel Web Però, sapendo che GNUplot è in evoluzione continua, vale la pena di fare il punto, di tanto in tanto, sul suo stato dell arte e sulla sua migliorata (?) amichevolezza almeno, dal punto di vista del non-professionista. GNUplot è scaricabile da http://www.gnuplot.info/. Le routines contenute qui richiedono dei Ctrl+C Ctrl+V sul proprio pc, dai quali, poi, la\il praticante impari con l esercizio della maggior attenzione ai dettagli possibile: GNUplot fa cose di livello notevolissimo ma non perdona omissioni o sviste sintattiche, neppure le minori! È un programma molto potente ma scarno, può sembrare, un po ostico ai primi approcci; come ho detto, richiede attenzione, sistematicità, insieme con un minimo di informazione in Analisi Matematica ( ).GNUplot non suscita colpi di fulmine travolgenti, soprattutto in chi percepisce il dettaglio fine spesso decisivo! come un sasso nella scarpa : bisogna entrare pazientemente nella sua logica! Commenti e spiegazioni compaiono qui e là nelle routines pronto-uso presentate nel testo; però non bastano: l utente dovrebbe ricorrere, di norma, alla Guida in linea per chiarirsi (?) la sintassi corretta e i comandi meno ovvi o dubbî. Poi, lo studio di Gnuplot in Action e\o di altri tutorials reperibili dal Web dovrebbero rafforzare gradualmente la confidenza con il programma e un suo uso più consapevole ed efficace. Insomma, skill to do comes from doing. Ho proceduto, su Windows 7, scrivendo le routines come files TXT (in Arial), che ho testato con GNUplot 5.0. I grafici, nel loro aspetto definitivo, sono stati copiati e incollati nella finestra di lavoro di Paint.NET, dove, se necessario, so stati rielaborati (centratura, etc.). Paint.NET, un ottimo free-software per la rielaborazione di immagini, è scaricabile da http://www.dotpdn.com/downloads/pdn.html. Poi, dopo il salvataggio sul desktop come files-immagine provvisori, Senza nome.png, i grafici sono stati convertiti in JPG, copiati e incollati direttamente nel documento definitivo DOCX di MS Office-Word. Non si dimentichi che, su piattaforma Windows, il funzionamento di Paint.NET richiede che l ambiente Microsoft.NET Framework 4.5 sia già configurato nel sistema operativo utilizzato. Se necessario, lo si può scaricare free da http://www.microsoft.com/it-it/download/confirmation.aspx?id=42642. Buon lavoro e, possibilmente, buon divertimento! C M mailme: cldmgn47@gmail.com ( ) Come riferimento di revisione, rigoroso ma molto sensibile agli aspetti applicativi, si consulti, e.g.: PAGANI, C. D. - SALSA, S., Analisi Matematica, VOL. 2, ZANICHELLI (RIST. 1998).

Guida rapida nella grafica scientifica con GNUplot 1 Grafica scientifica con GNUplot GNUplot è un programma interattivo per il tracciamento di grafici di funzioni, basato su comandi da tastiera interpretati istantaneamente. Questo documento intende fornire alcune informazioni di base per un pronto-uso di GNUplot. Si può approfondire la conoscenza del programma digitando il comando h o premendo il tasto Help (posto sulla barra delle funzioni della finestra di editing) o consultando lo User Manual (PDF), scaricabile da: http://www.gnuplot.info/. 1. Avvio Il programma si apre sulla la finestra di editing, nell ambiente interattivo di Gnuplot caratterizzato dal prompt di inizio-riga inviato dal programma: gnu plot> Per i comandi, si dovranno usare solo i caratteri minuscoli della tastiera, quindi, si controlli sempre che il tasto Caps Lock (o Bloc Maiusc ) sia disattivato. 2. Configurazione delle finestre di editing e grafica e altre opzioni importanti Sia la finestra di editing che la finestra grafica (quest ultima si apre all invio del comando plot che crea e visualizza il grafico) presentano in alto a sinistra un icona, cliccando la quale, si apre un menù che include, tra gli altri, il comando Options, con il quale, è possibile copiare il contenuto della finestra grafica nella memoria volatile (clipboard) di Windows, scegliere la visualizzazione degli ambienti di editing e grafico e stampare il contenuto della finestra grafica. Per verificare il tipo di terminale grafico (o finestra grafica) in uso, digitare show term. Le versioni più recenti di Gnuplot attivano, di default, la finestra grafica in modalità wxt, un terminale multipiattaforma, per sistemi Windows e Linux. Esso, però, risulta poco soddisfacente con tutti i sistemi operativi Windows. Conviene, pertanto, modificare il terminale virtuale, digitando set term win enhanced come primo comando in ogni routine, che consente l uso di un set esteso di caratteri. È buona pratica fare la brutta delle istruzioni, i.e., scrivere i comandi necessari su un file TXT in codifica ANSI prima del loro copia-incolla nella finestra di editing e dell esecuzione (Invio ). Inoltre, è possibile salvare un intera sessione di GNUplot in un file di testo mediante il comando File_Save e, in seguito, rieseguirla richiamandola con il comando File_Open. 3. Richiamo delle righe di istruzione già eseguite Durante una sessione di GNUplot, se si vogliono rieseguire comandi introdotti in una precedente linea di istruzioni, basta richiamare la linea desiderata premendo i tasti direzionali,, e e, quindi, il tasto Invio ( ) quando compare tale linea (che può essere modificata prima della sua esecuzione). 4. Grafico 2D di una o più funzioni in forma esplicita y = f ( x ) Si tratta di funzioni non-parametriche, i.e., di funzioni in cui la variabile y è esplicitabile vs. la variabile x e, per ogni valore di x, si ha un solo valore di y. Una codifica possibile è: applicazione della griglia alla finestra grafica (opzionale) set time data e orario di costruzione del grafico (opzionale) set title "Funzioni Goniometriche" set xlabel "X (radianti)" set ylabel "Y (valori di funzione)" set samples 250 set xrange [-pi:pi]

Guida rapida nella grafica scientifica con GNUplot 2 set yrange [-1.15:1.15] Le funzioni cot, sec, csec, sech, coth, csech e le loro inverse non sono incluse nella \ libreria di GNUplot, quindi, vanno definite analiticamente dall utente cot(x)=1/tan(x) set size 0.7, 1.0 scala utente X,Y vs. la scala di default della finestra grafica plot sin(x), cos(x), tan(x), cot(x) Si osservi la presenza di due tipi di comandi: a. il comando set che permette di assegnare al grafico un insieme di caratteristiche tali da determinarne il tipo e l aspetto; b. il comando plot che produce l output del grafico sul terminale prescelto. In effetti, l unico comando di set indispensabile è, e soltanto per l eventualità che, durante la stessa sessione di GNUplot, si sia già assegnato il comando parametric. Gli stessi grafici sono ottenibili con i comandi minimi cot(x)=1/tan(x) plot [-pi:pi] [-1.15:1.15] sin(x), cos(x), tan(x), cot(x) I valori posti tra le parentesi quadre e separati dal segno : sono, rispettivamente, quello minimo e quello massimo per x e per y definiti dall utente (se omessi, GNUplot assegna quelli di default). Il comando set samples 250 fissa a 250 il numero di punti nei quali viene calcolata la funzione (se omesso, il numero è 100, di default). Aumentando il numero di punti, aumenta l accuratezza del grafico della funzione ma può aumentare sensibilmente il tempo necessario per calcolarne i valori; comunque, l output dipende anche dalla definizione grafica del terminale-video in uso. Si può ripetere l esercizio determinando i grafici delle prime sei Funzioni di Bessel Ordinarie di rango intero, J0 ( x), J1 ( x),, J5 ( x). Un idea immediata è di sfruttare la loro rappresentazione generale in serie uniformemente convergente di potenze reali, + k ( 1) x Jn ( x) x 2k + n 2 k!( k + n)! 2k + n. k = 0

Guida rapida nella grafica scientifica con GNUplot 3 La convergenza uniforme in R di tale serie consente l espediente di prenderne una somma ridotta sufficiente per una grafica accettabile (il resto della serie è rapidamente infinitesimo) purché il calcolo del denominatore generale non provochi un overflow di memoria RAM. I limiti di calcolo 2 di GNUplot impongono che sia 2 k k!( k + n)! 170!. Una verifica immediata indica che questo vincolo corrisponde all insieme discreto { k } = { 0, 1, 2,..., 82 } di valori interi assegnabili. Quando k 65, e.g., la somma ridotta 65-sima della serie si scrive con la sintassi (v. p. 24-27) sum[k=0:65](-1)**k/(2.**(2*k+n)*k!*(k+n)!)*x**(2*k+n) Con questa, si costruiscono somme ridotte più che sufficienti per tracciare i grafici delle Funzioni di Bessel richieste, che appariranno nel dominio comune della stessa finestra: set title "Funzioni di Bessel Ordinarie di 1 tipo di rango intero, J_0(x),..., J_5(x)" in 'title', ogni carattere preceduto dal trattino basso, _, viene posto a pedice set samples 500 J0(x)=sum[k=0:65](-1)**k/((2.**k*k!)**2)*x**(2*k) J1(x)=sum[k=0:65](-1)**k/(2.**(2*k+1)*k!*(k+1)!)*x**(2*k+1) J2(x)=sum[k=0:65](-1)**k/(2.**(2*k+2)*k!*(k+2)!)*x**(2*k+2) J3(x)=sum[k=0:65](-1)**k/(2.**(2*k+3)*k!*(k+3)!)*x**(2*k+3) J4(x)=sum[k=0:65](-1)**k/(2.**(2*k+4)*k!*(k+4)!)*x**(2*k+4) J5(x)=sum[k=0:65](-1)**k/(2.**(2*k+5)*k!*(k+5)!)*x**(2*k+5) set size 1.0,1.0 plot [-20:20] [-0.63:1.05] J0(x), J1(x), J2(x), J3(x), J4(x), J5(x) Dalle precedenti istruzioni, è immediato estrarre quelle relative, e.g., al solo graf ( J 3 ) : set title "Funzione di Bessel Ordinaria di 1 tipo J_3(x)"

Guida rapida nella grafica scientifica con GNUplot 4 set samples 500 plot [-20:20] [-0.63:1.05] sum[k=0:65](-1)**k/(2.**(2*k+3)*k!*(k+3)!)*x**(2*k+3) Circa i grafici delle J n, il comando set samples 500 fissa a 500 il numero di punti nei quali esse vengono calcolate: un eccesso di precisione gestito agevolmente da GNUplot. 5. Grafico 2D di una curva definita implicitamente da f ( x, y ) = 0 Quando l equazione f ( x, y ) = 0 è tale per cui risulta impossibile esplicitare entrambe le variabili x e y univocamente (poiché, e.g., per lo stesso valore di x, y può assumere più valori, come nel caso dell equazione generale di una conica), per tracciare il grafico della curva implicita, si dovrà ricorrere a una sua rappresentazione parametrica, razionale o polare. La forma parametrica associata all equazione implicita f ( x, y ) = 0 è: x = f ( t), y = g ( t), dove { x, y } è una coppia cartesiana { ascissa, ordinata } mentre t è il parametro dal quale x e y, a loro volta, dipendono. Eccone due esempi: 5.1 la Spirale di Archimede set title "Spirale di Archimede" set samples 500 set parametric set xrange [-30:33] set yrange [-33:30] set size 0.54, 1.0 plot [0:10*pi] [-30:33] [-33:30] t*cos(t), t*sin(t) range dell angolo t di rotazione nel piano X Y, ranges delle componenti \ cartesiane parametriche x(t), y(t) e grafico delle loro co-variazioni simultanee vs. t Il comando set samples 500 fissa a 500 il numero di campionamenti equidistanti per l intervallo del parametro t e quindi fissa a 500 il numero di coppie di valori { x, y }, calcolati e utilizzati per

Guida rapida nella grafica scientifica con GNUplot 5 tracciare il grafico. Lo stesso grafico (decisamente qualitativo, però, ) è ottenibile con i comandi minimi set parametric set samples 500 plot [0:10*pi] [-30:33] [-33:30] t*cos(t), t*sin(t) 5.2 la Farfalla In questo esempio, diversamente da quello precedente, le assegnazioni dei t-dominî di x ( t ) e di y ( t ) per il tracciamento del grafico appaiono esplicitamente in tre righe di comando distinte: set title "Curva a farfalla" set parametric set trange [-10*pi:10*pi] set xrange [-7:7] set yrange [-5.5:7] set samples 10000 set size 0.6, 1.0 r=3./2 raggio polare (= 1.5, costante in formato REALE) x(t)=-r*(2*cos(4*t)+(sin(t/12))**5-exp(cos(t)))*sin(t) y(t)=-r*(2*cos(4*t)+(sin(t/12))**5-exp(cos(t)))*cos(t) plot x(t), y(t) grafico (simultaneo!) delle co-variazioni di x(t) e di y(t) vs. t

Guida rapida nella grafica scientifica con GNUplot 6 6. Grafico 3D di una funzione in forma esplicita z = f ( x, y ) Si tratta di una funzione non-parametrica, i.e., nella quale la variabile z è esplicitata vs. x e y e, per ciascuna coppia { x, y }, si ha un solo valore di z. Tale funzione rappresenta una superficie 3D: set title "Grafico della superficie cartesiana periodica z=sin(x+y)-cos(x-y)" set zlabel "Z" set xyplane at 0 set samples 60, 60 set isosamples 120, 120 set xrange [-5:5] set yrange [-5:5] " set zrange [-2.1:2.1] " set pm3d depthorder hidden3d z(x,y)=sin(x+y)-cos(x-y) splot z(x,y) with pm3d comando opzionale with pm3d = opzione 'colori di default' Il significato dei vari comandi è facilmente interpretabile. Si osserva la presenza di set samples 60,60 che fissa a 60 il numero di punti equidistanti nei quali vengono campionati entrambi gli intervalli di definizione delle variabili x e y. Questo significa che la funzione z = f ( x, y) viene calcolata per 3600 coppie di valori { x, y }. Il comando set isosamples 120,120 fissa a 120 il numero di linee a x = costante e a y = costante, rispettivamente, che generano il reticolo della superficie (di default, tale numero è 10). Il comando che genera un grafico 3D, i.e., una superficie, è splot; gli intervalli per i valori di x, y, z sono opzionali, se si desidera modificare quelli di default. In GNUplot, è disponibile il comando composto set pm3d depthorder hidden3d, che nasconde quelle parti di superficie non in vista vs. il punto di osservazione e che visualizza il reticolo delle linee generatrici.

Guida rapida nella grafica scientifica con GNUplot 7 7. Grafico 3D di una superficie definita implicitamente da f ( x, y, z ) = 0 Il grafico 3D di una superficie definita implicitamente da f ( x, y, z ) = 0 ha le coordinate espresse parametricamente da x = f ( u, v), y = g ( u, v), z = h ( u, v). Ad esempio, la superficie sferica di raggio r =5 può essere rappresentata con la routine set title "Superficie sferica di raggio r=5 in coordinate sferiche" set zlabel "Z" set samples 50, 50 set isosamples 40, 40 set parametric set urange [0:pi] dominio dell angolo polare set vrange [0:2*pi] dominio dell angolo azimutale r=5. i.e., f(u,v)=g(u,v)=h(u,v)=r (raggio = costante in formato REALE) set xrange [-5.5:5.5] set yrange [-5.5:5.5] set zrange [-5.5:5.5] set xyplane at 0 set view 75, 30, 1, 1 set pm3d depthorder hidden3d set size 0.52, 1.0 splot r*sin(u)*cos(v), r*sin(u)*sin(v), r*cos(u) with pm3d i.e., x(u,v), y(u,v), z(u,v) È importante notare come, qui, i parametri siano due, u e v, e come il comando set isosamples 40,40 definisca il reticolo sulla superficie con 40 linee a u = costante e 40 linee a v = costante. In particolare, se f ( u, v) g ( u, v) h ( u, v) definiscono una funzione a simmetria sferica vs. le coordinate parametriche u e v, con u θ [ 0, π ] e v ϕ [ 0, 2 π ), il vettore-posizione (vs. l origine) generalizzato r corrispondente è esprimibile sempre attraverso le sue proiezioni (ortogonali) sugli assi cartesiani X, Y, Z, nella forma r r ( u, v) = f ( u, v) sinu cosvxˆ + f ( u, v) sinu sinv ˆy + f ( u, v) cosu ˆz.

Guida rapida nella grafica scientifica con GNUplot 8 Esempî importanti di funzioni a simmetria sferica, sono forniti dalle Funzioni Armoniche Sferiche reali Zl, m ( θ, ϕ ). Il grafico di f ( u, v) Z, ( θ, ϕ) può essere ottenuto con le istruzioni seguenti: 20 set zlabel "Z" set title "Armonica Sferica reale quadrupolare orto-normalizzata Z_2_,_0=f(u,v)" set parametric set isosample 100, 100 set xyplane at 0 set size 0.5, 1.0 set view 75, 30 set pm3d depthorder hidden3d x(u,v)=sin(u)*cos(v) coseno direttore di r vs. asse X y(u,v)=sin(u)*sin(v) coseno direttore di r vs. asse Y z(u,v)=cos(u) coseno direttore di r vs. asse Z f(u,v)=sqrt(5./(16*pi))*(2*z(u,v)**2-x(u,v)**2-y(u,v)**2) splot [0:pi] [0:2*pi] f(u,v)*x(u,v), f(u,v)*y(u,v), f(u,v)*z(u,v) with pm3d range di u, range di v, etc. Come esempio ulteriore, il grafico della superficie corrispondente all Armonica Sferica reale ortonormalizzata Z4, 3 ( θ, ϕ) (esadecupolare) è ottenibile con la routine set zlabel "Z" set title "Armonica Sferica reale esadecupolare orto-normalizzata Z_4_,_-_3=f(u,v)" set parametric set urange [0:pi] set vrange [0:2*pi] set isosample 200,200 set xyplane at 0 set size 0.51, 1.0 set pm3d depthorder hidden3d

Guida rapida nella grafica scientifica con GNUplot 9 x(u,v)=sin(u)*cos(v) coseno direttore di r vs. asse X y(u,v)=sin(u)*sin(v) coseno direttore di r vs. asse Y z(u,v)=cos(u) coseno direttore di r vs. asse Z f(u,v)=sqrt(315./(32*pi))*sin(u)**3*cos(u)*sin(3*v) splot f(u,v)*x(u,v), f(u,v)*y(u,v), f(u,v)*z(u,v) with pm3d Ne risulta il grafico 3D seguente: Sia u ϕ [ 0, 2 π ) e v z R. Se f è una funzione a simmetria cilindrica, e.g., vs. l asse Z, i.e., v f ( v), e ( u ; v ) g ( u, v ) è una funzione nota, si determina l equazione della superficie r r ( u, v ) = f ( v ) cos u x ˆ + f ( v ) sin u ˆ y + g ( u, v) ˆz, parametrica in u, v e separata nelle sue componenti cartesiane. Applicazioni interessanti sono la superficie Catenoide, set title "Superficie Catenoide" set xyplane at 0 set zlabel "Z" set samples 52, 52 set isosamples 60, 60 set size 0.8, 1.0 set parametric set urange [0:2*pi] range della coordinata angolare di rotazione nel piano X Y set vrange [-6:6] range della coordinata v (= z) set palette defined (0 "blue", 3 "green", 6 "yellow", 10 "red") assegnazione cromatica graduata sulla colorbox f(v)=cosh(v) x(u,v)=f(v)*cos(u) x-componente di r(u,v) y(u,v)=f(v)*sin(u) y-componente di r(u,v) g(u,v)=v z-componente di r(u,v)

Guida rapida nella grafica scientifica con GNUplot 10 set pm3d depthorder hidden3d set view 70,30,1,1 splot x(u,v), y(u,v), g(u,v) with pm3d e la superficie Elicoide, di avvolgimento f sia lineare che iperbolico: set title "Superficie Elicoide ad avvolgimento lineare" set zlabel "Z" set xyplane at 0

Guida rapida nella grafica scientifica con GNUplot 11 set samples 120, 120 set isosamples 80, 80 set size 0.7, 1.0 set pm3d depthorder hidden3d set view 65,30,1,1 set parametric set urange [0:4*pi] range della coordinata angolare di rotazione nel piano X Y set vrange [-10:10] range della coordinata z f(v)=v funzione di avvolgimento lineare (winding function) x(u,v)=f(v)*cos(u) x-componente di r(u,v) y(u,v)=f(v)*sin(u) y-componente di r(u,v) g(u,v)=u z-componente di r(u,v) splot x(u,v), y(u,v), g(u,v) with pm3d set title "Superficie Elicoide ad avvolgimento iperbolico" set zlabel "Z" set xyplane at 0 set samples 120, 120 set isosamples 200, 200 set size 0.7, 1.0 set pm3d depthorder hidden3d set view 60, 30, 1, 1 set parametric set urange [0:4*pi] set vrange [-10:10] f(v)=sinh(v) funzione di avvolgimento iperbolico (winding function) x(u,v)=f(v)*cos(u) x-componente di r(u,v) y(u,v)=f(v)*sin(u) y-componente di r(u,v) g(u,v)=u z-componente di r(u,v) splot x(u,v), y(u,v), g(u,v) with pm3d

Guida rapida nella grafica scientifica con GNUplot 12 L effetto grafico del comando pm3d depthorder hidden3d può essere apprezzato meglio attraverso l esempio seguente, di confronto tra superfici toroidali concatenate: set multiplot attivazione della visualizzazione simultanea di più grafici set title "Superfici toroidali concatenate (senza i comandi 'depthorder' e 'hidden3d')" set parametric set urange [0:2*pi] dominio dell angolo azimutale 'esterno' set vrange [0:2*pi] dominio dell angolo azimutale 'interno' set isosamples 80,50 set origin -0.00,0.00 coordinate x,y dell'inizio del 1º grafico (a sinistra) set size 0.5,1. set xtics 0.5 opzione tacche di misura sull asse X e loro passo set ytics 0.5 " " " " Y " set ztics 0.5 " " " " Z " set border 0 set view 67,30,0.85,1. unset colorbox nasconde la scala cromatica di quota (z) del 1º grafico set pm3d splot (1+0.5*cos(v))*cos(u), (1+0.5*cos(v))*sin(u), 0.5*sin(v) with pm3d, \ 1+(1+0.5*cos(v))*cos(u), 0.5*sin(v), (1+0.5*cos(v))*sin(u) with pm3d set title "Superfici toroidali concatenate (con i comandi 'depthorder' e 'hidden3d')" set origin 0.39, 0.00 coordinate x,y dell'inizio del 2º grafico set size 0.5, 1. set colorbox vertical user origin 0.85,0.10 size 0.02,0.50 user, NON using (=u)! set pm3d depthorder hidden3d splot (1+0.5*cos(v))*cos(u), (1+0.5*cos(v))*sin(u), 0.5*sin(v) with pm3d, \ 1+(1+0.5*cos(v))*cos(u), 0.5*sin(v), (1+0.5* cos(v))*sin(u) with pm3d unset multiplot ripristino della visualizzazione grafica singola La dipendenza delle tre coordinate rettangolari da uno solo dei parametri di superficie predefiniti, e.g., v ( ( x; y; z) ( f ( v); g ( v); h( v)) ), riduce il grafico a una linea nello spazio X Y Z, ovviamente:

Guida rapida nella grafica scientifica con GNUplot 13 set title "Wiggle" set samples 300 set zlabel "Z" set parametric set vrange [0:2*pi] splot cos(3*v), sin(6*v), cos(9*v) lw 1 lw 1= line-width, spessore 1 assegnato alla linea Un confronto grafico simultaneo tra più linee parametriche in X Y Z aventi spessori diversi (l assegnazione di un colore differente è automatica dopo il tracciamento di ogni linea) può essere codificato come nell esempio elementare seguente: set title "Wiggles" set samples 300, 300 set isosamples 200, 200 set xyplane at 0 set zlabel "Z" set parametric set vrange [0:2*pi] h=0.5 parametro arbitrario k=sqrt(3)/35 parametro arbitrario splot cos(v), sin(v)+k, cos(3*v)/3 lw 3, \ cos(v)+h, sin(v)-k/2, cos(3*v)/3 lw 5, \ cos(v)-h, sin(v)-k/2, cos(3*v)/3 lw 8 L apparenza grafica è mostrata nella figura sottostante:

Guida rapida nella grafica scientifica con GNUplot 14

Guida rapida nella grafica scientifica con GNUplot 15 8. Introduzione di costanti complesse nelle espressioni Le costanti complesse vengono espresse nella sintassi { real, imag }, dove real e imag sono costanti reali che rappresentano, rispettivamente, la parte reale e la parte immaginaria del numero complesso. Così, {0,1} rappresenta i, l unità immaginaria (o j, nei testi di Ingegneria e di Teoria dei Sistemi), mentre {0.6,-2.2625} rappresenta il numero complesso 35 / i ( 218 / ). La possibilità di usare costanti complesse e l unità immaginaria, unitamente alle funzioni abs, arg, imag, real, rende possibile tracciare i diagrammi di Bode e di Nyquist della risposta in frequenza di un dato sistema del quale sia nota la funzione di trasferimento. Ad esempio, per il sistema avente la funzione di trasferimento 3 3 H ( s) = H ( iω) =, 5 + 2s 5 + 2iω il diagramma di Bode del guadagno, espresso in decibel, per valori della pulsazione ω compresi tra 01. e 1000 [rad/s] (ω è l ascissa nello spazio delle frequenze) si costruisce come segue: set title "Diagramma di Bode nel dominio delle frequenze" set xlabel 'pulsazione (in rad/s)' set ylabel 'guadagno (in db)' set samples 1000 set xrange [0.1:1000] set size 0.75, 1 set logscale x assegnazione della scala logaritmica sull asse X plot 20*log10(abs(3./(5+2*{0,1}*x))) log10 = logaritmo in base 10, abs = valore assoluto unset logscale x

Guida rapida nella grafica scientifica con GNUplot 16 9. Interpolazione di dati sperimentali con il comando fit e l opzione smooth Siano stati raccolti dei dati, con i quali, a ogni valore della grandezza x (ascissa), è associato un valore della grandezza y (ordinata) con una deviazione standard z (un indicatore della qualità dei 1/ 2 dati { x, y } espresso dal peso w di ciascun dato come z 1 / w ). In un sistema di assi cartesiani, si debbano riportare le coppie { x, y } di dati sperimentali e, quindi, interpolare i punti mediante una funzione nota y = f ( x), di natura prestabilita. Nell esempio seguente, è usato il comando fit: 9.1 salvare le terne { x, y, z } in un file-dati di testo, e.g., TXT o un qualsiasi altro editor, purché in codifica ANSI. Nel file, le righe di commento devono iniziare, al solito, con il carattere ; i dati devono essere incolonnati, e.g., con il tabulatore della tastiera; il file dataset1.txt sia stato posto nella cartella generale datafolder, il cui directory viene individuato, dalla finestra di editing, con il tasto di ricerca ChDir, presente sulla barra delle funzioni. Nelle terne { x, y, z }, l elemento z può costituire la deviazione standard delle coppie { x, y }. Più in generale, se si vuole imporre il passaggio della funzione interpolante per certi punti, si assegna ad essi un valore z di deviazione minore di quello degli altri punti; 9.2 assegnare la funzione di interpolazione parametrica dei dati sperimentali, e.g., la funzione 2 polinomiale cubica generale, f ( x) : = a + bx + cx + dx 3 ; 9.3 avviare GNUplot e individuare (tasto ChDir) il directory della cartella datafolder. I comandi che assegnano la funzione interpolante, ne calcolano i coefficienti parametrici a, b, c, d, ottimizzati vs. i dati sperimentali, e sia riportano i dati nel pano del grafico sia tracciano la curva interpolante: set title "Fit di interpolazione cubica" set size 0.75,1.0 f(x)=a+b*x+c*x**2+d*x**3 fit f(x) 'dataset1.txt' u 1:2:3 via a,b,c,d plot 'dataset1.txt', f(x) u = using posizione dei dati interpolati con f(x), grafico di f(x)

Guida rapida nella grafica scientifica con GNUplot 17 Se si desidera conoscere anche il valore che la funzione interpolante f assume per un certo valore di x (e.g., x = 47),. basta far seguire immediatamente all esecuzione grafica il comando print f(4.7) comando per l uso di GNUplot come calcolatrice Nel caso in cui non si desideri interpolare con un tipo specifico di funzione è disponibile l opzione smooth del comando plot. Tale opzione è applicabile a cinque metodi d interpolazione: acsplines, bezier, csplines, sbezier, unique. Ancora, le terne { x, y, z } incolonnate dei dati vanno salvate in un file di testo, e.g., dataset2.txt (in codifica ANSI), anch esso contenuto in datafolder e analogo a dataset1.txt. Ora, però, i dati z della 3 a colonna devono costituire obbligatoriamente gli scarti (errori) assegnati alle misure specifiche. Così, e.g. (ricordarsi del tasto ChDir), set title "Fit di interpolazione acsplines" set size 0.75,1 plot 'dataset2.txt' u 1:2:3 smooth acsplines, 'dataset2.txt' grafico della curva y='acsplines', posizione dei dati interpolati con 'acsplines' Il risultato è rappresentato dal grafico seguente: Quanto più viene aumentato il valore dello scarto z di un dato tanto più la curva interpolante si avvicina al punto, tendendo, però, ad assumere, un profilo globale maggiormente irregolare.

Guida rapida nella grafica scientifica con GNUplot 18 10. Visualizzazione degli errori nei dati sperimentali Una rappresentazione grafica elementare 2D degli errori tabulati di un insieme di dati richiede che GNUplot legga un certo dataset3.txt (in codifica ANSI), contenente da 3 a 6 colonne, ancora nella cartella datafolder. Poiché le colonne 1 a e 2 a sono riservate alle coppie {x,y} di valori associati più attendibili (misurati o medî) dei dati, ogni colonna successiva conterrà gli errori corrispondenti (scarti) x o\e y. Ne risulteranno, così, le configurazioni fondamentali seguenti: 3 colonne: u 1:2:3 with xerrorbars x, y, x con x-errori simmetrici (col. 3), 3 colonne: u 1:2:3 with yerrorbars x, y, y con y-errori simmetrici (col. 3), 4 colonne: u 1:2:3:4 with xyerrorbars x, y, x, y, con x,y-errori simmetrici (col. 3 e 4), 4 colonne: u 1:2:3:4 with xerrorbars x, y, x, x +, con x-errori distinti (col. 3 e 4), 4 colonne: u 1:2:3:4 with yerrorbars x, y, y, y +, con y-errori distinti (col. 3 e 4), 6 colonne: u 1:2:3:4:5:6 with xyerrorbars x, y, x, x, y, y, con x,y-errori distinti (col. 3, 4, 5 e 6). Esempî di comandi grafici: plot 'dataset3.txt' u 1:2:3 with xerrorbars i dati della 3 a colonna sono considerati come scarti plot 'dataset3.txt' u 1:2:3 with yerrorbars i dati della 3 a colonna sono considerati come scarti x ; y ; plot 'dataset3.txt' u 1:2:($2+$3):($2-$4) with yerrorbars i dati della 3 a e della 4 a colonna indicati collettivamente e sequenzialmente come ($3) e ($4) sono presi come gli scarti distinti, superiore e inferiore, per ciascun dato-y ($2); plot 'dataset3.txt' u 1:2:($1+$3):($1-$3):($2+$4):($2-$5) with xyerrorbars i dati della 3 a e della 4 a colonna sono presi come ± x mentre le colonne 4 a e 5 a forniscono, rispettivamente, gli scarti distinti, superiore e inferiore, di ciascun dato-y ($2). Chiaramente, si possono usare funzioni e combinazioni arbitrarie a piacere: plot 'dataset3.txt' u 1:2:($2*0.07) with yerrorbars rappresenta i dati con un errore su ciascun dato-y ($2) del 7% ; plot 'dataset3.txt' u 1:2:($1+4):($1-4):($2+$3):($2-$3) with xyerrorbars genera lo scarto simmetrico costante ± 4 su ciascun dato-x ($1) e lo scarto simmetrico di ciascun dato-y, ($2), con il dato corrispondente della 3 a colonna, ($3). Si può generare la conversione alla scala logaritmica vs. y del grafico precedente, aggiungendo ad esso un raccordo lineare dei punti sperimentali (si generi tale grafico, ricordarsi del tasto ChDir): set size 0.75,1 set title "Dati in scala semi-logaritmica vs. y" set logscale y set bars 3.0 assegna la dimensione dei 'tics' (trattini terminali) delle barre plot 'dataset3.txt' u 1:2:($1+4):($1-4):($2+$3):($2-$3) with xyerrorbars, \ 'dataset3.txt' u 1:2 notitle with lines with lines=con raccordo rettilineo dei dati unset bars unset logscale y

Guida rapida nella grafica scientifica con GNUplot 19 Come conclusione, ci si può sbizzarrire assemblando alcuni dei vari comandi presentati fin qui. Il loro significato al livello elementare di questo documento, almeno non dovrebbe richiedere chiarimenti. Sarà solo necessario, da parte di chi desideri testarli, generare da sé dei file txt di dati arbitrari purché incolonnati, individuabili nel sistema con il tasto ChDir: set title "Fit di interpolazione polinomiale di 6 grado, \n c/barre d'errore e 'tics'" \n = a capo in un 'title' set size 0.75,1 set bars 3.0 3.0 = dimensione dei 'tics' (trattini terminali di taglio) delle barre f(x)=a+b*x+c*x**2+d*x**3+e*x**4+f*x**5+g*x**6 fit f(x) 'dataset3.txt' via a,b,c,d,e,f,g plot [-0.5:20.5] [-10:110] 'dataset3.txt' \ u 1:2:($2-$3)*0.13 with yerrorbars, f(x) unset bars Il fit polinomiale di 6º grado non dà risultati soddisfacenti ai valori medio-inferiori delle ascisse dei dati analizzati. È opportuna la scelta di una funzione interpolante diversa. Insieme con la guida in linea di GNUplot, possono risultare utili il tutorial Gnuplot in Action.pdf, free-scaricabile dal Web, i documenti didattici del Prof. Carlo Meneghini, Univ. degli Studi Roma-3, Tor Vergata, anch essi reperibili dal Web, e la pagina http://www.csse.uwa.edu.au/programming/gnuplot_demos/, Un. of West Alabama. Livingston, AL.

Guida rapida nella grafica scientifica con GNUplot 20 prove, esempi, applicazioni

Guida rapida nella grafica scientifica con GNUplot 21 Polinomi e Funzioni Associate di Legendre Polinomio orto-normalizzato di Legendre di grado n set term win enhance set title "Polinomi orto-normalizzati di Legendre P_6(x), P_11(x)" set samples 250 set size 0.54,1.0 Espressione generale: P_n(x)=2.**-n*sum[k=0:floor(n/2)](-1)**k*(2.*(n-k))!/(k!*(n-k)!*(n-2.*k)!)*x**(n-2*k) il valore di n deve essere definito per ogni P_n(x) Esempio: grafici di P_6(x) e di P_11(x): h=6 grado di P_h(x) (utente) P_6(x)=2.**-h*sum [k=0:floor(h/2)](-1)**k*(2.*(h-k))!*x**(h-2*k)/(k!*(h-k)!*(h-2*k)!) r=11 grado di P_r(x) (utente) P_11(x)=2.**-r*sum[k=0:floor(r/2)](-1)**k*(2.*(r-k))!/(k!*(r-k)!*(r-2.*k)!)*x**(r-2*k) plot [-1.05:1.05] [-1.05:1.05] P_6(x), P_11(x) Funzione Associata di Legendre di ordine l e rango m set title "Funzione Associata di Legendre P_9_,_5(x)" set samples 250 set size 0.54,1.0 set xrange [-25:25] range-x della finestra grafica (utente) set yrange [y:y] range-y della finestra grafica (utente) Espressione generale: P_l_m(x)=(1.-x**2)**(m/2)*2.**-l*sum[k=0:floor((l-m)/2)] \ (-1)**k*(2*(l-k))!*x**(l-m-2*k)/(k!*(l-k)!*(l-m-2*k)!) i valori ammissibili di l e di m devono essere definiti per ogni P_l_m(x). \ L indice k di somma varia sotto le condizioni simultanee: 0 m l, max{k}=floor((l-m)/2)] Esempio: grafico di P_9_5(x) l=9 ordine di P_l_m(x) (utente) m=5 rango di P_l_m(x) (utente) P_9_5(x)=(1.-x**2)**(m/2)*2**-l* \ sum[k=0:floor((l-m)/2)](-1)**k*(2*(l-k))!/(k!*(l-k)!*(l-m-2*k)!)*x**(l-m-2*k) plot P_9_5(x)

Guida rapida nella grafica scientifica con GNUplot 22 Fattore polare dell Armonica Sferica orto-normalizzata di ordine l e rango m Il grafico del fattore polare Θ ( θ ) dell Armonica Sferica orto-normalizzata Y, ( θ, ϕ ) risulta, qualitativamente, identico o simmetrico vs. l asse X a quello della Funzione Associata di Legendre P l, m ( u ), dello stesso ordine l e rango m. Infatti, Yl, m ( θ, ϕ ) e P l, m ( u ), con u cosθ, sono proporzionali tra loro nella convenzione di fase CSW (v., dell autore: Metodi Matematici della Fisica - Note e applicazioni sparse). La codifica è riportata, qui, per completezza, a beneficio solidale di qualche artigiano solitario in Fisica Quantistica. set title "Fattore polare dell Armonica Sferica orto-normalizzata (7,2)-sima" set samples 250, 250 set size 0.54, 1.0 set xrange [-25.:25.] range-x della finestra grafica (utente) set yrange [y:y] range-y della finestra grafica (utente) Espressione generale: pf_l_m(x)=(-1)**m*2**-(l+1)*((2*l+1)*(l-m)!/(pi*(l+m)!))**(1/2)*(1-x**2)**(m/2)* \ sum[k=0:floor((l-m)/2)](-1)**k*(2*(l-k))!/(k!*(l-k)!*(l-m-2*k)!)*x**(l-m-2*k) i valori ammissibili di l e di m devono essere definiti per ogni pf_l_m(x). \ L indice k di somma varia sotto le condizioni simultanee 0 m l, max{k}=floor((l-m)/2)] Esempio: grafico di pf_7_2(x) l=7 ordine di pf_l_m(x) (utente) m=2 rango di pf_l_m(x) (utente) pf_7_2(x)=(-1)**m*2**-(l+1)*((2*l+1)*(l-m)!/(pi*(l+m)!))**(1/2)*(1-x**2)**(m/2)* \ sum[k=0:floor((l-m)/2)](-1)**k*(2*(l-k))!/(k!*(l-k)!*(l-m-2*k)!)*x**(l-m-2*k) plot pf_7_2(x) l m Spettro di Decadimento β set title "Spettro di Decadimento Beta, f(x)=(x**2)*(sqrt(1.8125)-sqrt((x**2)+0.25))" set xlabel "x = impulso dell'elettrone" set ylabel "y = numero di elettroni" set xrange [0:1.25] set size 0.54, 1.0 f(x)=(x**2)*(sqrt(1.8125)-sqrt((x**2)+0.25)) plot f(x) Grafico 3D del valore assoluto della Funzione Gamma definita in C (z= Γ(w), w=x+iy) Le istruzioni presentate contengono un assegnazione di tavolozza cromatica (palette) alternativa a quella di default. Al solito, il carattere in una riga precede una stringa interpretata da GNUplot, fino a fine-riga, come un commento e può, quindi, essere usato per selezionare\escludere istruzioni diverse. Il grafico risultante è mostrato all inizio del documento, a p. II. set title "Grafico della funzione z(x,y):= Gamma(w) " set xlabel "Re(w) = x" set ylabel "Im(w) = y"

Guida rapida nella grafica scientifica con GNUplot 23 set zlabel "Z" set xrange [-5.1:5.1] set yrange [-5.1:5.1] set zrange [-1.0:20.1] set xtics 1.0 set ytics 1.0 set ztics 2.0 set xyplane at 0 set samples 150, 150 set isosamples 200, 200 set pm3d depthorder hidden3d set size 0.75, 1.0 set palette defined (0 "light-blue", 4 "green", 9 "dark-yellow", 15 "yellow", 18 "orange", 22 "red") \ assegnazione livelli cromatici sulla colorbox unset colorbox set view 60, 330 z(x,y)=abs(gamma(x))*exp(-0.5*sum[k=0:100]log(1.+y**2/(x+k)**2)) ( ) splot z(x,y) with pm3d ( ) Con GNUplot, ogni produttoria (qui, proveniente dalla rappresentazione moltiplicativa di Γ, di Weierstrass) deve essere convertita in esponenziale della somma dei logaritmi dei fattori. Grafico 3D della Funzione Beta di Euler, z=b(x,y), con x, y > 0 set title "Grafico della funzione Beta di Euler, z=b(x,y)" set zlabel "Z" set xyplane at 0 set xtics 1.0 set ytics 1.0 set ztics 1.0 set samples 250, 250 set isosamples 90, 90 set pm3d depthorder hidden3d set size 0.75, 1.0 set palette defined (0 "light-blue", 6 "blue", 8 "light-blue", 12 "dark-yellow", \ 15 "yellow", 18 "orange", 22 "red") \ assegnazione livelli cromatici sulla colorbox unset colorbox set view 50, 30 B(x,y)=gamma(x)*gamma(y)/gamma(x+y) splot [0.00001:5.5] [0.00001:5.5] [-1:12.0] B(x,y) with pm3d

Guida rapida nella grafica scientifica con GNUplot 24 Grafici 2D delle Funzioni di Bessel Ordinarie di 1º e di 2º tipo set title "Grafico della Funzione di Bessel Ordinaria di 1 tipo J_0(x)" set samples 500 set size 1.0, 1.0 J0_(x)=sum[k=0:65](-1)**k/((2.**k*k!)**2)*x**(2*k) v. p. 3 plot [-20:20] [-0.7:1.1] J0_(x) set title "Grafico della Funzione di Bessel Ordinaria di 1 tipo J_n(x)" set samples 500 set size 1.0, 1.0 n=7 ordine n > 0 richiesto della funzione (da assegnare al momento del calcolo!) Jn_(x)=sum [k=0:65](-1)**k/(2.**(2*k+n)*k!*(k+n)!)*x**(2*k+n) v. p. 3 plot [-20:20] [-0.7:1.1] Jn_(x) set title "Grafico della Funzione di Bessel Ordinaria di 2 tipo N_0(x)" set samples 500 set size 1.0, 1.0 euler=0.57721566490153286060651209 N0(x)=2/pi* \ (log(x/2) + euler \ + sum[k=1:65](-1)**k/((2.**k*k!)**2)*(log(x/2) + euler - sum[p=1:k]1./p)*x**(2*k) \ ) plot [0:20] [-0.7:1.1] N0(x) set title "Grafico della Funzione di Bessel Ordinaria di 2 tipo Nn_(x)" set samples 500 set size 1.0, 1.0 n=4 ordine n > 0 richiesto della funzione (da assegnare al momento del calcolo!) euler=0.57721566490153286060651209 Nn_(x)=2/pi* \ ( \ 1./n!*( log(x/2) + euler - 1./2*sum[p=1:n]1./p )*(x/2)**n \ + (sum[k=1:65] (-1)**k/(2.**(2*k+n)*k!*(k+n)!)* (log(x/2) + euler - (sum[p=1:k]1./p) \ - 1./2*sum[p=1:n]1./(k+p))*x**(2*k+n)) \ - 1./2*sum[p=0:n-1](n-p-1)!/(2.**(2*p-n)*p!)*x**(2*p-n) \ )

Guida rapida nella grafica scientifica con GNUplot 25 plot [0:20] [-7.1:1.1] Nn_(x) Grafici 3D delle Funzioni di Bessel Ordinarie di 1º e di 2º tipo (r = sqrt(x 2 +y 2 )) set title "Grafico di J_0(r)" set xyplane at 0 set zlabel "Z" set xrange [-20.0:20.0] set yrange [-20.0:20.0] set zrange [-0.6:1.1] set xtics 2.0 set ytics 2.0 set ztics 0.5 set samples 150,150 set isosamples 200,200 set palette defined (0 "blue", 3 "violet", 7 "light-blue", 10 "green", 13 "light-green", \ 16 "orange", 19 "red") assegnazione livelli cromatici sulla colorbox set pm3d depthorder hidden3d unset colorbox set view 40, 30 set size 1.0, 1.0 r(x,y)=sqrt(x**2+y**2) distanza dall asse Z J0_(x,y)=sum[k=0:65](-1)**k/(2.**k*k!)**2*r(x,y)**(2*k) splot J0_(x,y) with pm3d set title "Grafico di J_n(r)" set xyplane at 0 set zlabel "Z" set xrange [-20.0:20.0] set yrange [-20.0:20.0] set zrange [-0.6:1.1] set xtics 2.0 set ytics 2.0 set ztics 0.5 set samples 150, 150 set isosamples 200, 200 set palette defined (0 "blue", 3 "violet", 7 "light-blue", 10 "green", 13 "light-green", \ 16 "orange", 19 "red") assegnazione livelli cromatici sulla colorbox set pm3d depthorder hidden3d set view 40, 30 set size 1.0, 1.0 n=4 ordine n > 0 richiesto della funzione (da assegnare al momento del calcolo!) r(x,y)=sqrt(x**2+y**2) distanza dall asse Z Jn_(x,y)=sum[k=0:65](-1)**k/(2.**(2*k+n)*k!*(k+n)!)*r(x,y)**(2*k+n)

Guida rapida nella grafica scientifica con GNUplot 26 splot Jn_(x,y) with pm3d set title "Grafico di z = N_0(r)" set xyplane at 0 set zlabel "Z" set xrange [-10.1:10.1] set yrange [-10.1:10.1] set zrange [-1.5:1.5] set xtics 2.0 set ytics 2.0 set ztics 1.0 set samples 150, 150 set isosamples 200, 200 set palette defined (0 "blue", 3 "violet", 7 "light-blue", 10 "green", 13 "light-green", \ 16 "orange", 19 "red") assegnazione livelli cromatici sulla colorbox set pm3d depthorder hidden3d unset colorbox set view 70, 30 set size 1.0, 1.0 r(x,y)=sqrt(x**2+y**2) distanza dall asse Z euler=0.57721566490153286060651209 N0_(x,y) = 2/pi* \ ( \ log(r(x,y)/2) + euler \ + sum[k=1:65](-1)**k/((2.**k*k!)**2)*(log(r(x,y)/2) + euler \ - sum[p=1:k]1./p)*r(x,y)**(2*k) \ ) splot N0_(x,y) with pm3d set title "Grafico di z = N_n(r)" set xyplane at 0 set zlabel "Z" set xrange [-10.1:10.1] set yrange [-10.1:10.1] set zrange [-4.1:1.1] set xtics 2.0 set ytics 2.0 set ztics 1.0 set samples 150, 150 set isosamples 200, 200 set palette defined (0 "blue", 3 "violet", 7 "light-blue", 10 "green", 13 "light-green", \ 16 "orange", 19 "red") assegnazione livelli cromatici sulla colorbox set pm3d depthorder hidden3d unset colorbox set view 70, 30 set size 1.0, 1.0

Guida rapida nella grafica scientifica con GNUplot 27 n=4 ordine n > 0 richiesto della funzione (da assegnare al momento del calcolo!) r(x,y)=sqrt(x**2+y**2) distanza dall asse Z euler=0.57721566490153286060651209 Nn_(x,y)=2/pi* \ ( \ 1./n!*(log(r(x,y)/2) + euler - 1./2*sum[p=1:n]1./p)*(r(x,y)/2)**n \ +(sum[k=1:65](-1)**k/(2.**(2*k+n)*k!*(k+n)!)*(log(r(x,y)/2) + euler \ -(sum[p=1:k]1./p) - 1./2*sum[p=1:n]1./(k+p))*r(x,y)**(2*k+n)) \ -1./2*sum[p=0:n-1](n-p-1)!/(2.**(2*p-n)*p!)*r(x,y)**(2*p-n) \ ) splot Nn_(x,y) with pm3d Osservazioni 1. Nella scrittura di formule e di espressioni di funzioni soggette all elaborazione numerica di GNUplot, è necessario porre attenzione al formato delle costanti intere esplicite introdotte: esse vanno scritte in formato REALE, i.e., seguite dal punto decimale (e.g., -4., non semplicemente -4), eccetto gli indici ricorsivi delle sommatorie e i fattoriali. Infatti, si osservino le differenze dalle conseguenze drammatiche nei calcoli più complicati! tra i risultati, sia pure restituiti da GNUplot in formato reale, print sum[n=1:10]-1+5/n**3-5.0 risultato errato (corrispondente alla parte intera del risultato corretto) print sum[n=1:10]-1+5./n**3-4.01234007162903 risultato (approssimato) corretto: la somma di un numero intero e di un numero reale è un numero reale. b 2. GNUplot interpreta l intera stringa che segue il comando sum[n =a:b] ( ) come il termine generale n = a u n di una somma. Se tale somma è l ultimo comando da eseguire, GNUplot riconosce u n correttamente, altrimenti, la somma deve essere posta tra parentesi: ( sum[n=a:b]u n ). Questo può essere necessario in presenza sia di altri addendi estranei a u n e il posizione successiva alla somma sia, soprattutto, di somme nidificate in u n stesso, somme che devono essere calcolate per prime perché, a loro volta, hanno n come valore massimo (variabile!) del proprio indice corrente: sum[n=a:b] (sum[ j=k:n]v j ). Qui sopra, evidentemente, gli indici correnti sono j = k, k +1,, n (interno) e n = a, a +1,, b (esterno). Come esempî, si analizzino attentamente le scritture precedenti delle espansioni generali delle Funzioni di Bessel. u n