Adloun

arange ou linspace ?

Exercice d'entraînement · niveau 2 · mathématiques (ECT 1re année), chapitre 13 — Informatique et algorithmique · Tableaux et statistiques

Énoncé

Qu'affichent ces trois instructions ?

import numpy as np

print(np.arange(1, 10, 3))
print(np.linspace(0, 2, 5))
print(np.shape(np.zeros((2, 3))))

Corrigé

La première : np.arange. Elle avance d'un pas donné — ici — en partant de , et s'arrête avant la borne . Les valeurs produites sont , , , puis qui est refusé :

[1 4 7]

La deuxième : np.linspace. Elle découpe le segment en un nombre de points donné — ici —, bornes comprises. L'écart entre deux points vaut donc :

[0.  0.5 1.  1.5 2. ]

La troisième : np.zeros et np.shape. np.zeros((2, 3)) construit un tableau de zéros à lignes et colonnes, et np.shape en rend le couple (nombre de lignes, nombre de colonnes) :

(2, 3)

Le point délicat. Le troisième argument n'a pas le même sens dans les deux premières fonctions : c'est un pas pour arange, un nombre de points pour linspace. Et la borne de droite est exclue par l'une, incluse par l'autre. C'est la confusion la plus fréquente de l'année, et elle se lève en lisant une fois la sortie.

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.