Maison > développement back-end > Tutoriel Python > Ajouter des dimensions personnalisées à la matrice à l'aide de Python

Ajouter des dimensions personnalisées à la matrice à l'aide de Python

王林
Libérer: 2023-09-04 19:01:10
avant
1301 Les gens l'ont consulté

Ajouter des dimensions personnalisées à la matrice à laide de Python

Matrix est une structure de données de base en algèbre linéaire et est largement utilisée dans divers calculs scientifiques et mathématiques. Une matrice est un tableau rectangulaire de nombres disposés en lignes et en colonnes. Il est généralement représenté sous forme d’une grille bidimensionnelle. Cependant, dans certains cas, nous pouvons avoir besoin de manipuler des matrices avec des dimensions supplémentaires pour effectuer des transformations de données ou effectuer des opérations mathématiques avancées.

Python, en tant que langage de programmation polyvalent, fournit un riche écosystème de bibliothèques qui fournit des outils puissants pour les opérations matricielles. L'une de ces bibliothèques est NumPy, qui signifie Numerical Python. NumPy fournit des outils efficaces et pratiques pour travailler avec des tableaux, y compris des matrices, et diverses fonctions mathématiques.

Avant de procéder à la mise en œuvre, assurons-nous que NumPy est installé sur votre ordinateur. Si vous ne l'avez pas encore installé, vous pouvez facilement l'installer à l'aide du pip du programme d'installation du package Python en exécutant la commande suivante -

pip install numpy
Copier après la connexion

Après avoir installé NumPy, nous pouvons continuer à créer et modifier des matrices.

Ensuite, nous créerons la matrice à l'aide de la fonction numpy.array. Voici un exemple -

matrix = np.array([[1, 2, 3],
                   [4, 5, 6],
                   [7, 8, 9]])
Copier après la connexion
La fonction

array accepte une liste imbriquée comme argument, où chaque liste représente une ligne de la matrice. Dans notre exemple, nous avons une matrice 3x3.

Ajouter des dimensions personnalisées

Pour ajouter des dimensions personnalisées à une matrice, nous pouvons utiliser la propriété numpy.newaxis. L'attribut newaxis nous permet d'augmenter la dimension d'une matrice existante d'une dimension. Voyons comment ça marche

new_matrix = matrix[:, np.newaxis]
Copier après la connexion

Dans le code ci-dessus, [:,np.newaxis] ajoute une nouvelle dimension à notre matrice en insérant un nouvel axe à la deuxième position. Deux points : signifie toutes les lignes, np.newaxis signifie où le nouvel axe doit être inséré. Cette opération convertit efficacement la matrice bidimensionnelle d'origine en une matrice tridimensionnelle.

Exemple

Imprimons la matrice originale et la nouvelle matrice pour observer les changements -

print("Original Matrix:")
print(matrix)

print("\nNew Matrix:")
print(new_matrix)
Copier après la connexion

Sortie

L'exécution du code produira le résultat suivant

Original Matrix:
[[1 2 3]
 [4 5 6]
 [7 8 9]]

New Matrix:
[[[1 2 3]]
 [[4 5 6]]
 [[7 8 9]]]
Copier après la connexion

Comme vous pouvez le constater, la nouvelle matrice a une dimension supplémentaire par rapport à la matrice d'origine. Chaque ligne de la matrice d'origine est désormais encapsulée dans son propre tableau interne. Cela augmente effectivement la dimensionnalité de la matrice. L'ajout de dimensions personnalisées est utile dans les scénarios dans lesquels vous devez effectuer des opérations nécessitant des matrices de dimensions supérieures, telles que des algorithmes avancés d'apprentissage automatique ou des calculs tensoriels.

Diffusion dans NumPy

Lors de l'ajout de dimensions personnalisées aux matrices dans NumPy, un concept important à comprendre est la diffusion. La diffusion est un mécanisme puissant dans NumPy qui permet d'exploiter ensemble des tableaux de formes différentes. Lors de l'ajout de dimensions personnalisées à une matrice, la diffusion peut ajuster automatiquement la forme des tableaux impliqués dans le calcul.

Prenons un exemple pour démontrer la diffusion -

matrix1 = np.array([[1, 2, 3],
                    [4, 5, 6]])

matrix2 = np.array([10, 20, 30])
Copier après la connexion

Dans le code ci-dessus, nous avons une matrice 2x3 (matrice1) et un tableau 1D (matrice2). Si nous voulons ajouter la matrice2 à chaque ligne de la matrice1, nous pouvons simplement utiliser l'opérateur +

result = matrix1 + matrix2
Copier après la connexion

Le résultat sera

[[11 22 33]
 [14 25 36]]
Copier après la connexion

Dans cet exemple, NumPy diffuse automatiquement la matrice unidimensionnelle 2 pour qu'elle corresponde à la forme de la matrice 1, permettant d'effectuer une addition par élément.

Ajoutez des dimensions personnalisées aux matrices de grande dimension

En plus d'ajouter des dimensions personnalisées aux matrices 2D, vous pouvez également ajouter des dimensions personnalisées aux matrices de dimensions supérieures. Le processus reste le même ; il vous suffit de spécifier l'emplacement souhaité du nouvel axe.

Considérons un exemple de matrice 3D

matrix3d = np.array([[[1, 2, 3],
                      [4, 5, 6]],
                     [[7, 8, 9],
                      [10, 11, 12]]])
Copier après la connexion

Supposons que nous souhaitions ajouter une nouvelle dimension à la fin de la matrice tridimensionnelle ci-dessus. Nous pouvons utiliser la propriété np.newaxis de la même manière :

new_matrix3d = matrix3d[..., np.newaxis]
Copier après la connexion

Dans le code ci-dessus, utilisez... pour représenter toutes les dimensions existantes et insérez np.newaxis à la fin. Cela produira une matrice à 4 dimensions.

Remodeler la matrice

L'ajout de dimensions personnalisées est généralement lié au remodelage des matrices. NumPy fournit des fonctions de remodelage qui vous permettent de modifier la forme d'une matrice, notamment en ajoutant ou en supprimant des dimensions. Cette fonction est pratique lorsque vous devez manipuler la structure d'une matrice.

Voici un exemple de comment remodeler une matrice et ajouter des dimensions personnalisées -

matrix = np.array([[1, 2, 3],
                   [4, 5, 6]])

reshaped_matrix = matrix.reshape((2, 3, 1))
Copier après la connexion

Dans le code ci-dessus, la fonction reshape est utilisée pour changer la forme de la matrice en (2, 3, 1). Les dimensions ajoutées à la fin correspondent aux dimensions personnalisées que nous souhaitons ajouter.

Conclusion

Dans cet article, nous explorons d'autres concepts liés à l'ajout de dimensions personnalisées aux matrices à l'aide de Python et NumPy. Nous avons discuté de la diffusion, qui permet de manipuler ensemble des tableaux de formes différentes, et vu comment elle peut être utile lors de l'exécution de calculs sur des matrices comportant des dimensions supplémentaires.

Nous avons également expliqué comment ajouter des dimensions personnalisées à une matrice avec des dimensions plus élevées, et comment remodeler la matrice et inclure des dimensions personnalisées dans le processus. Ces techniques offrent une flexibilité dans la manipulation des matrices pour répondre à des besoins spécifiques.

En comprenant ces concepts et en tirant parti des outils fournis par NumPy, vous pouvez gérer efficacement des matrices de différentes dimensions et effectuer des calculs complexes.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:tutorialspoint.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal