FrmGraf, GUIDA IN LINEA

*** PRIMA DI TUTTO LEGGETE LE CONDIZIONI DA ACCETTARE PER USARE FrmGraf. ***

CHI USA IL PROGRAMMA ACCETTA TUTTE LE CLAUSOLE ESPOSTE QUI SOTTO
----------------------------------------------------------------

1) CERTAMENTE IL PROGRAMMA CONTIENE ANCORA QUALCHE ERRORE, PERCIO' L'AUTORE NON GARANTISCE IL SUO CORRETTO FUNZIONAMENTO.

CHI USA QUESTO PROGRAMMA LO ACCETTA COS COM' ("AS IS"), SENZA ALCUNA GARANZIA, N ESPLICITA N IMPLICITA, DA PARTE DELL'AUTORE CHE DECLINA OGNI RESPONSABILIT PER DANNI DERIVANTI DALL'USO DEL PROGRAMMA STESSO, ANCHE SE DOVUTI A PROPRI ERRORI.

2) Gianfranco Tarchi, autore del programma, ne concede, a titolo gratuito, la licenza d'uso a chiunque, privati e non.

3) Chi entra in possesso di una copia del programma  autorizzato a farne altre copie e a distribuirle, purch conformi all'originale e a titolo gratuito. Il programma pu essere distribuito via Internet, purch a titolo gratuito.  VIETATA LA DISTRIBUZIONE IN SITI OVE SI PAGHI IN QUALUNQUE MODO IL SOFTWARE SCARICATO.

CHI NON  D'ACCORDO CON LE CLAUSOLE PRECEDENTI NON DEVE USARE QUESTO PROGRAMMA.
-------------------------------------------------------------------------------



GENERALIT
----------

Il form FrmGraf non  esattamente un programma, ma un form, usato nei programmi dell'autore, che disegna dei grafici e permette di esaminarli. Il contenuto dei grafici dipende dal programma che usa questa funzionalit, perci non  possibile darne una descrizione in questo help generico.
L'help spiega come funziona il form, qualunque cosa esso mostri.



MENU FILE
---------

La voce "Salva come file .PNG" salva, in formato PNG, l'immagine mostrata dal form. Il formato PNG risparmia spazio, ma senza compromettere un solo pixel del contenuto.

La voce "Salva i Dati" salva un file di testo con i valori mostrati nel grafico. In fondo al file, dopo le righe con i valori, ci sono anche i parametri usati dal grafico. Lo scopo principale di questa funzione  di permettere il confronto tra due grafici mediante la funzione seguente.

La voce "Confronta pi gruppi di dati salvati (2-4)" confronta pi grafici (da 2 a 4) i cui dati siano stati salvati in precedenza con la funzione vista sopra ("Salva i Dati"). I gruppi di dati dovrebbero essere relativi allo stesso tipo di grafico, se no c' un avvertimento, ma il confronto  fatto lo stesso, sta a te decidere se farlo e se ha un senso.
Il gruppo di dati pi lungo viene troncato in modo da avere lo stesso numero di elementi di quello pi piccolo. Se questo pu essere un problema sta a te deciderlo. Di solito, lo .
Per avere una scala delle ordinate che contenga entrambi i grafici, i primi due valori del primo gruppo possono essere modificati se quelli del secondo cadessero fuori dall'intervallo di valori del primo. In tal caso i primi due valori (o anche uno solo di essi) non sarebbero attendibili, ma di solito, quando accade, lo si nota facilmente.
I nomi dei file sono chiesti in due volte:
- la prima volta ti sar chiesto il nome del file il cui grafico vuoi disegnare per ultimo, cio sovrapposto a tutti gli altri;
- la seconda volta ti sar chiesto di selezionare da 1 a 3 file i cui grafici saranno disegnati per primi; l'ordine di disegno dei grafici di questi file (se 2 o 3) non  prevedibile.
Di norma, si sovrappongono per il confronto due soli grafici.

La voce "Combina due grafici con +-*/" crea un nuovo grafico derivante dall'applicare un'operazione, da indicare, tra i dati del primo gruppo e quelli del secondo. Le operazioni sono indicate nel menu, al momento sono le quattro operazioni dell'aritmetica, ma ne aggiunger altre. I due grafici devono essere stati salvati in formato testo, .TXT, con la funzione "Salva i Dati" descritta sopra.
La funzione, qualora i due grafici contengano i dati di pi di un DUT, considera solo i dati del DUT AA.

La voce "Mostra un file di dati" fa vedere il grafico con i dati di un file .TXT a suo tempo salvato con "Salva i Dati". Visto che in fondo al file con i dati ci sono i parametri usati nel grafico al momento in cui fu salvato, il grafico  mostrato in modo abbastanza simile a quando fu creato.

La voce "Esci" chiude il form. Al suo posto puoi usare il tasto Escape. Non  richiesta alcuna conferma.



MENU VEDI
---------

La voce "Sfondo chiaro" rende bianco lo sfondo del grafico e cambia il colore del grafico in modo da renderlo facilmente visibile. Questa funzione serve per stampare i grafici senza consumare un mucchio di inchiostro per lo sfondo. La stampa non  fatta dal programma, si deve salvare il grafico come file .PNG e poi stamparlo tramite un programma di grafica (IrfanView, Fastone image viewer...).

La voce "Spessore tracce" modifica, a rotazione, lo spessore delle tracce (di solito una, a volte pi d'una) portandolo da 1 (default) a 2, poi a 3 e poi di nuovo a 1 e cos via. Lo spessore s'intende in pixel.

La voce "Zoom Ascisse" ingrandisce la porzione di ascisse attorno al puntatore del mouse. Richiedendola pi volte si hanno ingrandimenti sempre maggiori finch non si torna alla versione non ingrandita. Ti consiglio per la scorciatoia col mouse: premi il tasto Ctrl, porta il puntatore del mouse sulla parte centrale della porzione di ascisse che vuoi ingrandire e clicca col tasto sinistro.

La voce "Zoom Ordinate" ingrandisce la porzione di ordinate attorno al puntatore del mouse. Richiedendola pi volte si hanno ingrandimenti sempre maggiori finch non si torna alla versione non ingrandita. Ti consiglio per la scorciatoia col mouse: premi il tasto Shift, porta il puntatore del mouse sulla parte centrale della porzione di ordinate che vuoi ingrandire e clicca col tasto sinistro.

La voce "Zoom, Inverti azione (Solo Ordinate)" fa in modo che il comando "Zoom Ordinate" agisca all'opposto, ossia invece d'ingrandire i dettagli li render pi piccoli. Di solito questa funzione non si usa, perch quando il grafico  disegnato per la prima volta comprende sempre tutti i valori delle ordinate, dal minimo al massimo. Ma certe volte, nel confronto di due gruppi di dati, gli estremi delle ordinate sono adattati solo al primo gruppo e il secondo, se con estremi pi ampi, si vedr solo in parte. Si rimedia cliccando su questa voce del menu Vecdi e poi dando il comando di "Zoom Ordinate", per esempio con Shift+clic su un punto del grafico la cui ordinata dovr poi trovarsi ad un'altezza centrale. Qualche prova chiarir meglio come stanno le cose.

La voce "Zoom, Reset degli (anche Shift+Ctrl+clic)" annulla tutti i comandi di zoom in essere e fa tornare il grafico com'era alla sua creazione.

La voce "Medie mobili o a gruppi 1-3-9-27..." fa la media mobile o a gruppi dei punti intorno a ciascun punto del grafico. Inizialmente non c' media (1), richiedendo la funzione una volta si passa a una media mobile di 3 punti, richiedendola ancora 9 (3*3), poi 27 (3*3*3) e cos via. Il massimo valore di elementi nella media mobile  un nono del numero totale dei valori.
La media mobile  simile a un filtro passa basso che addolcisce la curva e smorza le brusche variazioni, ci tanto pi quanti pi sono gli elementi in media mobile.
Ecco come funziona la media mobile con tre elementi:
...
il valore dell'elemento 4  la media dei valori degli elementi 3, 4 e 5
il valore dell'elemento 5  la media dei valori degli elementi 4, 5 e 6
il valore dell'elemento 6  la media dei valori degli elementi 5, 6 e 7
...
e cos via...
Per avere la media a gruppi si deve selezionare il comando "Medie a gruppi (se checked se no mobili)", che alterna tra loro i due tipi di medie (se checked: media a gruppi).
La media a gruppi fa la media dei punti, ma a gruppi fissi.
Per esempio, con gruppi di tre, avremo:
punto 1 = media dei valori dei punti 1, 2 e 3
punto 2 = media dei valori dei punti 1, 2 e 3
punto 3 = media dei valori dei punti 1, 2 e 3
punto 4 = media dei valori dei punti 4, 5 e 6
punto 5 = media dei valori dei punti 4, 5 e 6
punto 6 = media dei valori dei punti 4, 5 e 6
punto 7 = media dei valori dei punti 7, 8 e 9
e cos via...

La voce "Medie a gruppi (se checked se no mobili)"  uno switch per stabilire il tipo di media desiderato (checked = a gruppi, unchecked = mobile). Vedi la voce sopra.



IL MENU STRUMENTI
-----------------

Attenzione: le funzioni del menu Strumenti che creano un altro grafico (quasi tutte, salvo "Opzioni grafiche") prendono come input la situazione attualmente visibile nel grafico. Ad esempio, se fai la derivata prima di una grandezza, avrai un risultato, se fai la derivata prima della media mobile della stessa grandezza, il risultato sar diverso. In parole povere farai la derivata prima di ci che vedi attualmente nel grafico.

La voce "Delta % f(n) / f(n-1)" mostra un nuovo grafico con, sostanzialmente, la derivata prima della funzione rappresentata nel grafico di origine, ma espressa in forma perc entuale. Vedi "Derivata prima", qui sotto.

La voce "Derivata prima" mostra un nuovo grafico con la derivata prima della funzione rappresentata nel grafico di origine (quello da cui si d il comando). La derivata prima rappresenta quanto velocemente aumenta o diminuisce, nel grafico di origine, l'ordinata al variare dell'ascissa.
In matematica la derivata prima  definita come il limite per deltaX che tende a zero di:
(Y(X + deltaX) - Y(X)) / deltaX.
ove Y  la funzione (di X) rappresentata nel grafico di origine.
Il programma, ovviamente, non pu calcolare il limite per deltaX che tende a zero, perch i dati disponibili sono in numero limitato dentro un array (nel source si chiama TabY). Il calcolo della derivata per il punto Xn segue questa strada:
derivata(Xn) = (Y(Xnpd) - Y(Xn)) / (Xnpd - Xn)
ove Xnpd  l'ascissa corrispondente all'elemento n pi deltaPunti.
Ecco un esempio, relativo al punto 7 e con deltaPunti = 3:
derivata(X7) = (Y(X10) - Y(X7)) / (X10 - X7).
Il parametro deltaPunti  chiesto dal programma ogni volta che si richiede la funzione "Derivata prima". Il valore di default (deltaPunti = 1)  ottimale per tutte le curve "dolci", senza noise. Invece, se c' rumore pu essere pi opportuno distanziare maggiormente i punti Xnpd e Xn, ma sempre con cautela, per non travisare completamente il risultato. Altre volte, in presenza di noise, si hanno buoni risultati calcolando la derivata prima non della funzione, ma della sua versione con media mobile (vedi sopra), purch anche qui non si esageri (media mobile di una decina di elementi al massimo). Evita assolutamente la media a gruppi che falserebbe il risultato.

La voce "Diagramma polare" crea un diagramma polare a partire da quello cartesiano (XY) sul quale si d il comando.
L'angolo 0 corrisponde alla X iniziale del grafico cartesiano e l'angolo 360 corrisponde alla X finale.
Qualora, nel grafico di origine, sia stato richiesto il calcolo della media tra due limiti (vedi "CALCOLO MEDIE DA-A" pi avanti) sar preparato un grafico polare relativo ai soli elementi selezionati dalle due barre verticali (verde e rossa).

La voce "Foto, crea grafico duplicato" crea un secondo grafico identico al primo, quello da cui il comando  stato impartito. Questa funzione ha due scopi. Il primo  congelare un grafico ad aggiornamento continuo in modo da lavorare su una situazione ferma. Il secondo  creare un altro grafico uguale a quello di origine per cambiare poi uno di questi (con la media mobile o con lo zoom) e confrontarli pi agevolmente.
Qualora, nel grafico di origine, sia stato richiesto il calcolo della media tra due limiti (vedi "CALCOLO MEDIE DA-A" pi avanti) sar preparata una foto relativa ai soli elementi selezionati dalle due barre verticali (verde e rossa).

La voce "Integrale di y in dx" mostra un nuovo grafico con l'integrale della funzione mostrata nel grafico rispetto all'ascissa.
L'integrale rappresenta l'area sottesa alla curva che rappresenta la funzione. Si tratta di una somma algebrica, cio l'area delle parti di curva negative (sotto l'asse delle ascisse)  negativa e si sottrae a quella delle parti di curva positive (sopra l'asse delle ascisse).
All'inizio della funzione ti sar chiesto il valore della costante d'integrazione che non  determinabile a programma. Prendi ad esempio le funzioni:
y = 5 * x
e
y = 5 * x + 9
Esse hanno entrambe una derivata prima pari a 5 (come y = 5 * x + a dove a  una costante qualsiasi). Solo tu potrai, conoscendo l'argomento specifico, indicare il valore corretto della costante d'integrazione. Usando la costante di default (zero) la curva con l'integrale avr s kl'aspetto giusto, ma sar traslata in alto o in basso rispetto a quella giusta.

La voce "Istogramma delle ordinate" mostra un nuovo grafico con l'istogramma della numerosit (ordinate, asse Y) dei vari valori (ascisse, asse X). La numerosit, ovviamente, non  relativa ai singoli valori, ma a un certo numero di fasce di valori, i gruppi. Per default il programma propone 20 gruppi. Ogni barra dell'istogramma indica (asse Y) il numero di valori compresi nel gruppo cui si riferisce. I valori minimo e massimo di ogni gruppo sono desumibli dall'asse X.
Usare un numero di gruppi inferiore a 20 porta a non mostrare per intero l'ultima colonna dell'istogramma, relativa al gruppo con i valori pi alti. Sono comunque ammessi valori a partire da 10 gruppi.
Usare un numero di gruppi superiore a 100 tende a rendere confuse le informazioni. Tuttavia si ammette un numero fino a 400.
I valori limite potrebbero cambiare nel tempo, ma quando c' la richiesta d'indicarlo, i limiti mostrati sono quelli giusti.

La voce "Media progressiva dall'inizio" mostra un nuovo grafico con la media calcolata a partire dall'inizio del grafico di origine calcolata, per ogni punto di questo, considerando tutti i punti compresi tra il punto iniziale e il punto in questione.
Certe valutazioni richiedono questo tipo di media. Si pensi a un confronto tra uno standard di frequenza al cesio e un GPSDO: la valotazione del GPSDO dipende dalla durata del confronto e l'errore medio dall'inizio tende a ridursi ca l'aumento della durata della prova e quindi dei punti considerati.

La voce "Media smorzata" mostra un nuovo grafico con una media "smorzata" dei valori presenti nel grafico d'origine. La media "smorzata" (la definizione  mia) ha una ragion d'essere solo in casi molto particolari. Puoi considerarla una variante della media mobile. La media "smorzata"  calcolata considerando per ogni punto media che risulta da tutti i valori che lo precedono, i quali, per, sono tanto meno influenti quanto pi precedono il punto in questione. Una tecnica simile, SOLO simile e ancora pi complessa perch calcolata per tutti i punti della FFT e per ogni gruppo di campioni,  usata, per ragioni di memoria, nel programma SCounter_Cs.
Per i pi volonterosi riporto il codice in C#:
        public double[] RendiTabMediaSmorzata(double[] inp_TabVal,
                                              int inp_NumElemMedia)
        {
            double fattRiduz = 1 - 1.4 / inp_NumElemMedia;
            if (fattRiduz <= 0) { fattRiduz = 0.000000001; }
            if (fattRiduz >= 1) { fattRiduz = 0.999; }

            double moltiplicatore = 1;
            double peso = 1;
            double sommaElemPrec = 0;
            double[] tabConMedie = new double[inp_TabVal.Length];
            for (int k = 0; k < inp_TabVal.Length; k++)
            {
                // Riduce l'influenza delle vecchie somme
                sommaElemPrec *= fattRiduz;
                // Somma il dato nelle somme per la media
                sommaElemPrec += inp_TabVal[k];
                // Calcola la media smorzata per quell'elemento, considerando anche tutti i precedenti
                double mediaSmorz = sommaElemPrec / peso;
                tabConMedie[k] = mediaSmorz;
                moltiplicatore = moltiplicatore * fattRiduz;
                peso = peso + moltiplicatore;
            }

            return tabConMedie;
        }
Non ti consiglio di usare questa funzione, ma se lo farai, sappi che non d risultati analoghi alla frequenza media (NumCicliMedia) del programma SCounter_Cs, perch il concetto di frequenza media l usato  diverso. Infatti, la frequenza media di SCounter_Cs passa per la FFT media, che d luogo a segnali pi puliti dai picchi del noise. Fare la media "smorzata" della frequenza istantanea d luogo a risultati tanto pi diversi quanto pi  forte il noise. Lo stesso vale qualunque altra grandezza sia rappresentata nel grafico.

La voce "Solo un valore ogni n..." mostra un nuovo grafico con rappresentato solo un punto ogni n (parametro fornito dal richiedente) a partire dal punto m (altro parametro fornito dal richiedente). Quando la funzione rappresentata ha degli andamenti periodici pu aiutare ad evidenziarli. Si pensi all'incasso nel corso di un anno di un bar sempre aperto. Ci pu essere un andamento a periodicit settimanale sovrapposto ad altre tendenze. Magari il venerd  il giorno con minore affluenza. Guardando l'andamento di 1 punto su 7 a partire da primo venerd (se l'inizio fosse un gioved daremmo m = 2), si conronterebbero tra loro gli incassi di tutti i venerd.

La voce "Statistiche" mostra un prospetto statistico con questi valori, relativi al grafico di origine: media, deviazione standard, varianza, media armonica, media geometrica, mediana, media quadratica, minimo, massimo, campo di variazione.
Sono mostrate anche le frequenze per ciascun decile (purch i dati siano almeno 100) e anche per ciascun centile (purch i dati siano almeno 1.000). Con meno di 100 dati non si mostrano n decili n tantomeno centili.
Sono infine mostrati i valori dei dati: numero dato (da 1 a n), ascissa, ordinata, ordinata in ordine crescente e sua posizione nei dati non ordinati.
Qualora sia stato richiesto il calcolo della media tra due limiti (vedi "CALCOLO MEDIE DA-A" pi avanti) sar preparato anche un secondo prospetto, relativo ai soli elementi selezionati dalle due barre verticali (verde e rossa).
Un buon libro di statistica chiarir i concetti coinvolti nel prospetto.

La voce "Opzioni grafiche" permette d'impostare vari parametri del grafico, in particolare i colori e il tipo grafico (curva, istogramma o per punti). Per saperne di pi, vedi "LE OPZIONI DELLA GRAFICA" nell'help del programma SCounter_CS.



IL MENU ?
---------

La voce "Help" mostra l'help che stai leggendo.



SPOSTARSI NEL GRAFICO
---------------------

Normalmente, appena mostrato il grafico  visibile al completo e non ci si pu spostare al suo interno, perch non avrebbe senso. Usando le funzioni di zoom (sia ascisse che ordinate) il grafico sar visibile solo in parte ed allora sar utile potersi muovere al suo interno.

I tasti Csr Up e Csr Down permettono di muoversi in verticale, per vedere le parti pi in alto e pi in basso del grafico.
I tasti Csr Left e Csr Right permettono di muoversi in orizzontale, per vedere le parti pi a sinistra e pi a destra del grafico.
Con Home (Inizio) si vede la parte di grafico all'estrema sinistra (ascissa minima).
Con End (Fine) si vede la parte di grafico all'estrema destra (ascissa massima).



CALCOLO MEDIE DA-A
------------------

 possibile calcolare il valore medio tra due ascisse del grafico. Un semplice clic col tasto sinistro del mouse imposter l'ascissa A, resa visibile da una riga rossa verticale. L'ascissa DA  inizialmente impostata all'inizio del grafico (ascissa minima), ma  possibile cambiare: baster premere il tasto M che alterna il clic di sinistro del mouse tra ascissa A ed ascissa DA, come indicato nella parte finale della barra del titolo ("M cambia"). Il valore della media DA-A  indicato tanto nella barra del titolo quanto nel titolo del grafico (la scritta in alto al centro della parte grafica).
Si esce da questa modalit premendo Escape.




