Exemple : Effet d'ORIGIN sur les fonctions autres que les fonctions de recherche
La variable système ORIGIN affecte le résultat des trois fonctions qui agissent sur les tableaux : submatrix, csort et rsort.
Ce résultat affecte également une fonction qui ne fonctionne pas sur les tableaux : e (la fonction Antisymmetric tensor).
1. Définissez une matrice d'entrée.
2. Evaluez ORIGIN pour vérifier qu'elle est définie sur 0.
ORIGIN=0: submatrix, csort and rsort
1. Définissez les arguments de ligne et de colonne.
2. Utilisez la fonction submatrix permettant d'extraire une sous-matrice à partir de la matrice M.
Le résultat est la sous-matrice trouvée entre les lignes 2 et 3 et colonnes 3 et 4.
3. Définissez l'argument de colonne et évaluez la fonction de tri de la colonne csort.
La matrice renvoyée est le résultat de la réorganisation des lignes de M, jusqu'à ce que la colonne 3 soit triée par ordre croissant.
4. Définissez l'argument de ligne et évaluez la fonction de tri de la ligne rsort.
La matrice renvoyée est le résultat de la réorganisation des colonnes de M, jusqu'à ce que la ligne 4 soit triée par ordre croissant.
ORIGIN=1: submatrix, csort and rsort
1. Définissez ORIGIN sur 1.
2. Réévaluez la fonction submatrix.
La matrice renvoyée vient désormais des lignes 1 et 2 et des colonnes 2 et 3.
3. Montrez que pour pouvoir obtenir les mêmes résultats lorsque ORIGIN est définie sur 0, vous devez ajouter la nouvelle valeur d'ORIGIN aux index de ligne et de colonne de la fonction submatrix.
4. Réévaluez la fonction csort.
La matrice renvoyée montre que la colonne 2 (pas la 3) est dans l'ordre croissant.
5. Montrez que pour pouvoir obtenir les mêmes résultats lorsque ORIGIN est définie sur 0, vous devez ajouter la nouvelle valeur d'ORIGIN à l'argument c.
6. Réévaluez la fonction rsort.
La matrice renvoyée montre que la ligne 3 (pas la 4) est dans l'ordre croissant.
7. Montrez que pour pouvoir obtenir les mêmes résultats lorsque ORIGIN est définie sur 0, vous devez ajouter la nouvelle valeur d'ORIGIN à l'argument r.
ORIGIN=0: e
1. Définissez ORIGIN sur 0.
2. Définissez les trois arguments de la fonction Antisymmetric tensor, i, j et k.
3. Evaluez la fonction Antisymmetric tensor e.
ORIGIN=1: e
1. Définissez ORIGIN sur 1.
2. Réévaluez la fonction Antisymmetric tensor.
L'erreur se produit, car la valeur de chaque argument doit être entre ORIGIN et ORIGIN+2.
3. Montrez que pour pouvoir obtenir les mêmes résultats lorsque ORIGIN est définie sur 0, vous devez ajouter la nouvelle valeur d'ORIGIN à chacun des trois arguments.