Plus facile à lire avec un fond crème, une teinte, plus de contraste ou un texte plus grand ? Choisissez vos couleurs et votre texte, une fois pour toutes les pages.

Leçon gratuite

Vecteurs : somme et longueur

Après cette leçon: Je peux additionner des vecteurs, les multiplier par un nombre et mesurer leur longueur.

Leçon de 55 min2 commandesLab JupyterLab de science des données : pandas, Matplotlib et scikit-learn dans le navigateur

Qu’est-ce qu’un vecteur ?

Un vecteur est une liste de nombres qui décrit un déplacement, une position ou les caractéristiques d’un objet. Vous saurez additionner des vecteurs, les multiplier par un nombre et mesurer leur longueur.

Un livreur avance de 3 rues vers l’est, puis de 4 vers le nord. À quelle distance est-il de son départ ? Un vecteur répond.

À la fin de cette leçon

Remarque

Je peux additionner des vecteurs, les multiplier par un nombre et mesurer leur longueur.

Mots clés

MotCe que ça veut direExemple
Vecteurune liste de nombres rangés dans un ordre(3, 4)
Composanteun des nombres d’un vecteur
Scalaireun nombre seul, qui n’est pas une liste
Longueurla distance entre le départ et la pointe du vecteur
Vecteur unitaireun vecteur de longueur 1

Les cellules que les étudiants remplissent restent vides dans cet aperçu.

On additionne les composantes une à une

Le matin, le livreur avance de 3 rues vers l’est et de 1 vers le nord : c’est le vecteur (3, 1). L’après-midi, il fait (2, 4).

Pour trouver son déplacement total, on additionne les premières composantes entre elles, puis les secondes. On obtient (5, 5). Deux vecteurs ne s’additionnent que s’ils ont le même nombre de composantes.

Exemple travaillé : deux tournées

DirectionMatinAprès-midiTotal
Vers l’est (première composante)325
Vers le nord (seconde composante)145

Les cellules que les étudiants remplissent restent vides dans cet aperçu.

Le même calcul en Python

Code: python
# Déplacement d’un livreur : rues vers l’est, rues vers le nord.
matin = [3, 1]
apres_midi = [2, 4]
total = []
for i in range(len(matin)):
    total.append(matin[i] + apres_midi[i])
longueur = (total[0] ** 2 + total[1] ** 2) ** 0.5
print("total :", total)
print("longueur :", round(longueur, 2))
# Remplacez 4 par 0, puis relancez.
# La longueur monte-t-elle ou descend-elle ?

Multiplier par un scalaire étire le vecteur

Une recette pour 2 personnes demande 200 g de farine et 3 œufs : c’est le vecteur (200, 3). Pour 6 personnes, on multiplie par 3. Chaque composante est multipliée.

Un nombre seul, comme ce 3, s’appelle un scalaire. Il change la longueur du vecteur, pas sa direction. Un scalaire négatif retourne le sens.

Exemple travaillé : la recette

PersonnesScalaireFarine en grammesŒufs
212003
636009
10,51001,5

Les cellules que les étudiants remplissent restent vides dans cet aperçu.

La longueur vient du théorème de Pythagore

Le livreur du vecteur (3, 4) est à vol d’oiseau à 5 rues de son départ. On élève chaque composante au carré, on additionne, puis on prend la racine carrée.

Ce nombre est la longueur du vecteur. On l’appelle aussi sa norme. Si on divise un vecteur par sa longueur, on obtient un vecteur de longueur 1, dit unitaire.

Exemple travaillé : trois longueurs

VecteurCarrés des composantesSommeLongueur
(3, 4)9 et 16255
(1, 2, 2)1, 4 et 493
(6, 8)36 et 6410010

Les cellules que les étudiants remplissent restent vides dans cet aperçu.

NumPy calcule sur toutes les composantes d’un coup

Dans le labo, la bibliothèque NumPy range un vecteur dans un tableau et calcule sur toutes ses composantes à la fois.

La première commande additionne (3, 4) et (1, 2), double (3, 4) et mesure sa longueur : elle affiche [4 6], [6 8] et 5.0. La seconde affiche la longueur 5.0 puis le vecteur unitaire [0.6 0.8].

Somme, double et longueur avec NumPy

Commande
docker exec jupyter python3 -c "import numpy as np; a = np.array([3, 4]); b = np.array([1, 2]); print(a + b, 2 * a, np.linalg.norm(a))"

Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.

Le vecteur unitaire de (3, 4)

Commande
docker exec jupyter python3 -c "import numpy as np; v = np.array([3, 4]); print(np.linalg.norm(v), v / np.linalg.norm(v))"

Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.

Une erreur fréquente

Attention

Beaucoup pensent que la longueur est la somme des composantes : 3 plus 4 donnerait 7. C’est faux, car on mesure la distance en ligne droite. Élevez au carré, additionnez, puis prenez la racine : on obtient 5.

Pour aller plus loin

Ouvrez un carnet dans JupyterLab. Rangez dans un vecteur la température et la pluie d’un jour de hires.csv, puis mesurez sa longueur avec np.linalg.norm.

Comparez deux jours : la longueur de leur différence dit à quel point ils se ressemblent.

À propos de ce labo et de sa source: Lab JupyterLab de science des données : pandas, Matplotlib et scikit-learn dans le navigateur

Vous enseignez à une classe ? Proposez ce module à vos étudiants avec un guide de l'enseignant, des devoirs corrigés et un laboratoire pour chaque étudiant.