Créer et lire un tableau
Exercice supplémentaire · niveau 1 (application) · mathématiques approfondies (ECG 1re année), chapitre 11 — Informatique et algorithmique · Tableaux numpy
Énoncé
Que produisent np.zeros([2, 3]), np.eye(3), np.arange(0, 10, 2) et np.linspace(0, 1, 5) ? Préciser en particulier la différence entre les deux dernières, et ce que renvoie np.shape.
Corrigé
Ce qu'on montre. Les quatre constructeurs de tableaux du programme, et la distinction entre « fixer le pas » et « fixer le nombre de points ».
Le programme.
import numpy as np
A = np.zeros([2, 3])
I = np.eye(3)
u = np.arange(0, 10, 2)
v = np.linspace(0, 1, 5)
print(np.shape(A), np.shape(I), np.shape(u), np.shape(v))
print(u)
print(v)
Ce que chacun produit.
np.zeros([2, 3]): un tableau de lignes et colonnes rempli de zéros.np.shaperenvoie le couple(2, 3).np.eye(3): la matrice identité , de forme(3, 3)— des sur la diagonale, des ailleurs.np.arange(0, 10, 2): le tableau[0 2 4 6 8], de forme(5,). On donne le pas (), et la borne haute est exclue : n'y figure pas.np.linspace(0, 1, 5): le tableau[0. 0.25 0.5 0.75 1.], de forme(5,). On donne le nombre de points (), et les deux bornes sont incluses ; le pas en est déduit.
La différence, en une phrase. arange fixe le pas et exclut la borne haute ; linspace fixe le nombre de points et inclut les deux bornes. Pour tracer une courbe sur , c'est linspace qu'il faut : elle garantit que le dernier point est bien .
Ce que renvoie np.shape. Un couple pour un tableau à deux dimensions — (2, 3) signifie lignes et colonnes — et un couple à un seul élément pour un tableau simple, noté (5,). C'est ainsi qu'on récupère la taille d'une matrice : np.shape(M)[0] en donne le nombre de lignes.
Point délicat. np.zeros(2, 3) est une erreur : les dimensions se passent dans une seule liste, np.zeros([2, 3]).
Les autres exercices de ce chapitre Le cours du chapitre
Un blocage sur cet exercice ? Le tuteur d'Adloun guide par questions, sans donner la réponse.