Esempio: effetto di ORIGIN sulle funzioni non di ricerca
La variabile di sistema ORIGIN influisce sul risultato delle tre funzioni che operano sugli array, ovvero submatrix, csort e rsort.
Influisce anche su una funzione che non opera sugli array: e (funzione antisymmetric tensor).
1. Definire una matrice di input.
2. Valutare ORIGIN per verificare che sia impostato su 0.
ORIGIN = 0: submatrix, csort e rsort
1. Definire gli argomenti della riga e della colonna.
2. Utilizzare la funzione submatrix per estrarre una submatrix dalla matrice M.
Il risultato è la submatrix trovata tra le righe 2 e 3 e le colonne 3 e 4.
3. Definire l'argomento della colonna e valutare la funzione di ordinamento della colonna csort.
La matrice restituita è il risultato della ridisposizione delle righe di M finché alla colonna 3 è applicato l'ordinamento crescente.
4. Definire l'argomento della riga e valutare la funzione di ordinamento della riga rsort.
La matrice restituita è il risultato della ridisposizione delle colonne di M finché alla riga 4 è applicato l'ordinamento crescente.
ORIGIN = 1: submatrix, csort e rsort
1. Impostare ORIGIN su 1.
2. Valutare di nuovo la funzione submatrix.
La matrice restituita ora deriva dalle righe 1 e 2 e dalle colonne 2 e 3.
3. Mostrare che per ottenere gli stessi risultati quando ORIGIN è impostato su 0, è necessario aggiungere il nuovo valore di ORIGIN per gli indici della riga e della colonna della funzione submatrix.
4. Valutare di nuovo la funzione csort.
La matrice restituita ora mostra che l'ordinamento crescente è applicato alla colonna 2 e non alla 3.
5. Mostrare che per ottenere gli stessi risultati quando ORIGIN è impostato su 0, è necessario aggiungere il nuovo valore di ORIGIN per l'argomento c.
6. Valutare di nuovo la funzione rsort.
La matrice restituita ora mostra che l'ordinamento crescente è applicato alla riga 3 e non alla 4.
7. Mostrare che per ottenere gli stessi risultati quando ORIGIN è impostato su 0, è necessario aggiungere il nuovo valore di ORIGIN per l'argomento r.
ORIGIN=0: e
1. Impostare ORIGIN su 0.
2. Definire i tre argomenti della funzione antisymmetric tensor, i, j e k.
2. Valutare di nuovo la funzione antisymmetric tensor.
L'errore si verifica perché il valore di ciascun argomento deve essere compreso tra ORIGIN e ORIGIN+ 2.
3. Mostrare che per ottenere gli stessi risultati quando ORIGIN è impostato su 0, è necessario aggiungere il nuovo valore di ORIGIN a ciascuno dei tre argomenti.