October 2
Interactive Lingua dei dati (IDL) è uno strumento per la visualizzazione e la ricerca dei dati. IDL lavora con "array", il raggruppamento degli oggetti in modi che permette loro di essere indirizzati individualmente o collettivamente. "Uno dei segreti per diventare un programmatore efficace IDL", ha scritto Liam Gumley in "Pratico di programmazione IDL," è l'uso efficace di array, la formazione del pensiero e la pratica in "operazioni di matrice piuttosto che loop".
1 In IDL, un array può sempre essere indicizzato in due modi: per colonna e di riga, o per semplice conteggio unidimensionale. Ad esempio, si consideri un array in due dimensioni:
2 4 6 8 10 12
12 14 16 14 12 10
10 8 40 5 4 2
8 2 9 19 18 17
Per indicizzare il numero nella terza fila, terza colonna per riga e colonna, si potrebbe digitare:
IDL> print, arr [2.2]
Sarebbe [2.2] piuttosto che [3,3], perché si parte all'origine - 0 qui - e si muove di due spazi a destra, poi due spazi verso il basso. Ciò richiederà la risposta: 40.
2 Si potrebbe indice di un array in modo unidimensionale così:
IDL> print, arr [14].
Nel caso di questa griglia,
2 4 6 8 10 12
12 14 16 14 12 10
10 8 40 5 4 2
8 2 9 19 18 17
sarebbe ancora indurre la risposta: 40. In questo caso, la richiesta è per, nelle parole di Gumley "zero-based spostamento dell'elemento dall'inizio dell'array."
3 IDL fornisce, su richiesta, la media o varianza di una matrice. Per una matrice in IDL, come per ogni insieme di dati, la media è il numero ottenuto sommando i valori nel set e successivamente diviso per il numero di valori. Se la matrice è questo:
2 4
3 7
allora la media è 4 (16/4 = 4).
Dopo la creazione di tale matrice all'interno di IDL, si può comandare in questo modo:
IDL> stampa, media (arr) per ricevere la risposta.
La varianza di un array, analogamente, è una media dei quadrati delle differenze tra i valori e la media. Nel caso precedente, quadrati delle differenze sono 4, 0, 1 e 9. La varianza, quindi, è 3.5. Il comando in questione è:
IDL> print, varianza (arr)
4 Un programmatore IDL deve anche imparare a riordinare un array. Ci sono sette funzioni di riordino, come segue:
riforma()
inverso()
ruotare()
trasporre()
spostamento()
ordinare()
uniq ().
Supponiamo di aver già creato una griglia 3-by-2 così:
1 2 3
4 5 6.
Ora, si vuole riformare in una griglia di 2-by-3 in tal modo:
1 2
3 4
5 6
Il comando è:
IDL> arr -reform (arr, 2, 3)