Sequenze, orologi e numeri casuali

Transcript

Sequenze, orologi e numeri casuali
Tecnologie digitali II
Scheda di laboratorio n. 2/2009
Sequenze, orologi e numeri casuali.
In LabVIEW esistono molte funzioni relative alle necessità di misura di intervalli temporali.
In questa scheda utilizzeremo le più comuni, assieme alle sequenze in modo da misurare i tempi
di calcolo per alcune funzioni molto semplici.
Tic Toc con LabVIEW
Con LabVIEW è possibile misurare l’intervallo di tempo che intercorre fra due eventi e modificare
i tempi di esecuzione del programma utilizzando le funzioni che si trovano nella palette sotto
Time and Dialog. È dunque possibile creare l’analogo delle funzioni Tic Toc viste in Matlab
anche in LabVIEW. Per fare questo si puó utilizzare un contatore che calcola il tempo trascorso
in millisecondi, di cui peró non si conosce il riferimento di partenza: è dunque utilizzabile
solo per misurare differenze di tempo. È possibile interrogare questo contatore utilizzano la
funzione Time count, che ritorna appunto il tempo trascorso in ms.
Es. 1 Costruire una VI composta da tre sequenze che utilizzi la funzione Time count nel primo e nell’ultimo
frame per conoscere il tempo trascorso in ms, e si mostri il risultato a schermo. Il frame intermedio deve
utilizzare il comando Wait per introdurre un ritardo fra le due letture del contatore. Si esegua piú volte
l’esericizio. Il tempo rilevato coincide con il tempo atteso? È costante? Commentare.
Es. 2 Aggiungere all’esercizio precedente un frame prima della seconda lettura dei tempi che esegua,
attraverso un ciclo for o while, un numero N determinato di operazioni. Come cambia il risultato?
Es. 3 Modificare la VI precedente, in modo che ripeta la misura per un insieme di valori di N fornito
dall’operatore e mostri a schermo il grafico del tempo trascorso in funzione di N .
Estrazioni del lotto
Es. 4 Costruire un VI che svolga la seguente funzione: dati due numeri interi N e m, a partire dal Random
Generator (0-1) di LabVIEW, generare un insieme di numeri casuali interi compresi tra 0 e N, sino a quando
viene generato il numero m. Mostrare j il numero di passi necessari per trovare il numero scelto e il tempo
occorso T. Utilizzare un diagramma con un numero adeguato di frames nella sequenza. Il pannello frontale
deve contenere i controlli per impostare N e m, e gli indicatori di j e T.
Es. 5 Trasformare il VI creato nell’esercizio precedente in un VI utilizzabile da altri programmi, definendo
due connessioni di ingresso (N e m) e due di uscita (j e T ), scrivendo la documentazione per altri eventuali
utilizzatori, e disegnando una icona opportuna.
Es. 6
Creare un nuovo VI che utilizzi il VI realizzato nell’esercizio precedente come sub-VI. Questo program-
1
2
ma deve far eseguire K volte il programma precedente, e produrre due vettori con i valori di j e T ottenuti.
Deve poi mostrare in un grafico l’istogramma dei valori j.
Es. 7 Con una opportuna scelta dei valori di N e K, si valuti il tipo di distribuzione ottenuta per j, e se
ne determini i parametri caratteristici. Disegnare nel pannello frontale l’istogramma e la funzione teorica che
meglio interpreta i dati.
Salvataggio di dati in un file
LabVIEW mette a disposizione degli utenti diversi modi per salvare dati acquisiti o generati
durante l’esecuzione di VI. In questa parte di lavoro viene proposto di salvare dei dati in diversi
modi.
Es. 8 A partire dal VI dell’esercizio 5, costruire un programma che crei un file, esegua la misura di j e T,
per un numero K di volte e salvi nel file i dati ottenuti. Il programma deve proporre un nome per il file, e il
formato di salvataggio deve tener conto del carattere intero di j e di una scelta sensata per le cifre significative
di T.
Es. 9 Salvare i dati ottenuti nell’esercizio precedente in files e costruire un opportuno programma in MatLab
che li legga e li elabori. In particolare, fissato il valore DT, suddividere il tempo totale utilizzato in intervalli,
contare quanti risultati n sono stati ottenuti per ciascun intervallo, e contare il numero di intervalli Nn che
contengono n risultati. Determinare la distribuzione teorica che meglio interpreta i dati.
Es. 10 Si vuole valutare anche la relazione tra j e T : per un numero K dell’ordine di 100, si disegni sul
pannello frontale il grafico j,T. Come si presenta? Cambiare il valore di N di alcuni ordini di grandezza1 e
osservare come cambia il risultato. Quale informazione quantitativa si può dedurre?
Es. 11 Salvare i dati dell’esercizio precedente in diversi files (variando N ), e in MatLab scrivere un programma
che rilegga i dati, li disegni tutti insieme. Valutare il risultato.
1
Compatibilmente con i tempi di esecuzione che sono necessari sul vostro computer.
A.Di Lieto, F.Maccarrone - Tecnologie Digitali II - 2008/09