Erreur de diffusion dans Numpy Matrix Multiplication
Lors de la multiplication de la matrice entre deux tableaux Numpy, il est crucial de s'assurer que leurs formes sont compatibles. Cependant, l'utilisation incorrecte de l'opérateur de multiplication (*) peut conduire à l'erreur "ValueError: Operands ne peut pas être diffusée avec des formes".
Considérez deux tableaux: x avec forme (m, n) et y avec forme (n, 1). L'opération prévue est la multiplication matricielle, ce qui devrait entraîner un (m, 1) vecteur. Cependant, l'opérateur de multiplication dans Numpy est utilisé pour les opérations d'élément, ce qui nécessite la diffusion pour aligner les dimensions.
Dans l'exemple donné, les règles de diffusion sont violées car la première dimension de x (97) est confrontée à la dimension correspondante de Y (2). Par conséquent, l'opération de multiplication échoue et déclenche l'erreur.
pour effectuer la multiplication matricielle, vous devez utiliser la méthode dot (). Cette méthode est spécialement conçue pour les opérations matricielles et assure un alignement approprié des dimensions. L'utilisation de Dot () au lieu de * résout le problème de diffusion et produit le vecteur attendu (M, 1).
De plus, notez que l'utilisation du type de matrice dans Numpy (numpy.matrix) peut compliquer les opérations. Il est généralement recommandé d'utiliser Numpy.ndarray pour les tableaux à la place.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3