Adloun

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.

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.