Comment calculer le produit scalaire dans R : avec des exemples



Étant donné le vecteur a = [a 1 , a 2 , a 3 ] et le vecteur b = [b 1 , b 2 , b 3 ], le produit scalaire du vecteur a et du vecteur b, noté a · b , est donné par :

une · b = une 1 * b 1 + une 2 * b 2 + une 3 * b 3

Par exemple, si a = [2, 5, 6] et b = [4, 3, 2], alors le produit scalaire de a et b serait égal à :

une · b = 2*4 + 5*3 + 6*2

une · b = 8 + 15 + 12

une · b = 35

Essentiellement, le produit scalaire est la somme des produits des entrées correspondantes dans deux vecteurs.

Comment calculer le produit scalaire dans R

Il existe deux façons de calculer rapidement le produit scalaire de deux vecteurs dans R :

Méthode 1 : utilisez %*%

Le code suivant montre comment utiliser la fonction %*% pour calculer le produit scalaire entre deux vecteurs dans R :

#define vectors
a <- c(2, 5, 6)
b <- c(4, 3, 2)

#calculate dot product between vectors
a %*% b

     [,1]
[1,]   35

Le produit scalaire s’avère être 35 .

Notez que cette fonction fonctionne également pour les colonnes du bloc de données :

#define data
df <- data.frame(a=c(2, 5, 6),
                 b=c(4, 3, 2))

#calculate dot product between columns 'a' and 'b' of data frame
df$a %*% df$b

     [,1]
[1,]   35

Méthode 2 : utilisez la fonction dot()

On peut également calculer le produit scalaire entre deux vecteurs en utilisant la fonction dot() de la bibliothèque pracma :

library(pracma)

#define vectors
a <- c(2, 5, 6)
b <- c(4, 3, 2)

#calculate dot product between vectors
dot(a, b)

[1] 35

Encore une fois, le produit scalaire entre les deux vecteurs s’avère être 35 .

Connexe : Comment calculer un produit croisé dans R

Ressources additionnelles

Les didacticiels suivants expliquent comment calculer un produit scalaire à l’aide d’autres logiciels statistiques :

Comment calculer le produit scalaire dans Excel
Comment calculer le produit scalaire dans Google Sheets
Comment calculer le produit scalaire sur une calculatrice TI-84

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *