User manual

Table Of Contents
Menu42
Copyright © 2007-2013 Pico Technology Ltd. Tutti i diritti riservati.psw.it r30
Analisi del formato di file
La specifica completa, disponibile all'indirizzo www.mathworks.com, è ampia, quindi la
presente guida non descrive l'intero formato, ma descrive in modo sufficiente il
formato per consentire di acquisire dati dal file e utilizzarli per il proprio programma.
Le variabili descritte sopra (in Importazione in Matlab) sono memorizzate in una serie
di blocchi di dati, ciascuno preceduto da un'intestazione. Ciascuna variabile dispone
della propria intestazione e del proprio blocco di dati e i nomi delle variabili
corrispondenti sono memorizzati insieme ad essi (per esempio A, B, Tstart). Le
sezioni di seguito descrivono come leggere ciascuna variabile dal file.
Non viene specificato l'ordine dei blocchi di dati, per cui il programma deve esaminare
i nomi delle variabili per sapere quale variabile è in fase di caricamento.
Intestazione
Il file è costituito da numerosi blocchi di dati preceduti da intestazioni da 20 byte.
Ciascuna intestazione contiene cinque interi a 32 bit (come descritto nella tabella di
seguito).
Byte
Valore
0 3
Formato dei dati (0, 10 o 20)
4 7
Numero di valori
8 11
1
12 15
0
16 19
Lunghezza nome
Formato dati
Il "Formato dati" nei primi 4 byte descrive il tipo di dati numerici nell'array.
Valore
Descrizione
0
Precisione doppia (virgola
mobile a 64 bit)
10
Precisione singola (virgola
mobile a 32 bit)
20
Intero (a 32 bit)
Numero di valori
Il "Numero di valori" è un intero a 32 bit che descrive il numero di valori numerici
nell'array. Tale valore può essere 1 per variabili che descrivono solo un valore, ma per
array di campioni o tempi, è probabile che si tratti di un numero elevato.
Lunghezza nome
La "Lunghezza nome" è la lunghezza del nome della variabile come stringa ASCII a 1
byte per carattere seguita da un carattere null. L'ultimo carattere terminale null ("\0")
è compreso nella "Lunghezza nome", quindi se il nome della variabile è
"TStart" (uguale a "TStart\0"), la lunghezza del nome sarà 7.