Comment créer une fonction qui multiplie deux matrices ensemble? Je sais qu'il existe une fonction dans laquelle cela fait déjà cela, mais je veux écrire une fonction qui peut calculer cela sans utiliser la fonction déjà construite dans R. P>
3 Réponses :
Il devrait fonctionner avec puis prenez une transposition de la génération résultante p> sapply code>
Je ne sais pas pourquoi vous souhaitez faire cela car toute implémentation "définie par l'utilisateur" est liée à être plus lente que la fonction R intégrée (et vous pouvez en fait écrire votre propre implémentation C ++ à l'aide de RCPP code>) mais voici une version
Le premier exemple retournera false code> car
matmul code> retournera un type
int code> pendant
x% *% y code>
numérique code>. Le deuxième exemple échouera en raison de dimensions incohérentes et le troisième exemple retournera
vrai code>.
donnée de matrices A code> et
B code>, pour le produit matriciel
m = a * b code>, vous pouvez utiliser le code suivant:
> A%*%B
[,1] [,2] [,3] [,4]
[1,] 30 66 102 138
[2,] 36 81 126 171
[3,] 42 96 150 204
Bienvenue à Stackoverflow! Veuillez lire les informations sur Comment poser une bonne question et comment donner un Exemple reproductible . Cela rendra beaucoup plus facile pour les autres de vous aider. Assurez-vous également de montrer vos tentatives et votre point de vue sur l'échec de votre script.
Oui, il existe déjà une fonction de multiplication de matrice
? `% *%` Code>