Matrix Multiplication C ++

Matrix Multiplication C ++
Vous avez peut-être appris et fait beaucoup de questions sur les matrices dans vos matières mathématiques tout en étudiant. Matrix est une collection de lignes et de colonnes. La matrice peut avoir le nombre équivalent de lignes et de colonnes et être différente. Nous pouvons effectuer n'importe quelle opération mathématique sur les matrices, i.e. addition, soustraction, multiplication et division. C ++ nous permet également d'utiliser des matrices dans nos codes et d'effectuer ces opérations. Ainsi, nous avons décidé d'effectuer une multiplication matricielle dans la programmation C ++ tout en utilisant l'ubuntu 20.04 Système Linux. Commençons par la création de fichiers C ++ pour ajouter du code. Lancez d'abord le terminal de la coquille et utilisez l'instruction «Touch» de la borne de la coque pour générer un fichier. Nous avons nommé ce fichier «Matrix.CC ". Le fichier est conservé dans le dossier à domicile de notre système Linux. Nous l'ouvrons dans l'éditeur GNU Nano en utilisant Nano Editor d'Ubuntu, comme démontré dans l'image ci-dessous. Le fichier vide sera directement ouvert dans l'éditeur GNU Nano en seulement 5 secondes.

Exemple # 01:

Commençons par l'exemple de base de la multiplication matricielle en c++. C ++ utilise l'en-tête «iostream» pour prendre des entrées et une sortie standard via le flux d'entrée-sortie. Donc, il doit également être composé dans le fichier de code. Nous l'avons inclus dans notre fichier vide C ++ en utilisant le mot-clé «#include» à la ligne supérieure. Dans C ++, les objets d'entrée et de sortie ne peuvent être utilisés qu'avec l'espace de noms standard.

Donc, nous devons utiliser l'espace de noms «STD» en utilisant le mot «Utilisation» après l'en-tête. Nous ferons notre multiplication matricielle dans la méthode c ++ main (), qui est également la source d'exécution commence. Nous avons déclaré trois matrices «x», «y» et «z» avec la taille de 5-5, je.e. rangées colonnes. Mais, nous avons également déclaré des variables «R» et «C» en tant que lignes et colonnes et attribués les deux avec la même valeur. Actuellement, il n'y a aucune valeur dans nos matrices. Nous utiliserons la matrice «x» et «y» comme matrices d'entrée, tandis que la matrice «z» sera le produit de ces deux matrices. Premièrement, nous devons ajouter des valeurs dans la matrice d'entrée «x» et «y» séparément à l'aide de boucles.

Les instructions COUT montrent que l'utilisateur saisira séparément les valeurs dans les matrices «x» et «y». La boucle «pour» externe sera utilisée pour itérer les lignes jusqu'à «R» et la boucle «pour» extérieure pour itérer la valeur de la colonne «C». Comme «R» et «C» ont la valeur 2, nous créerons donc une matrice «x» et «y» de 2 * 2. L'objet «CIN» a été utilisé pour ajouter les valeurs dans la matrice «x» et «y» en utilisant «i» et «j» boucles. Grâce à cela, l'utilisateur ajoutera des valeurs de ligne «2» et des valeurs de colonne «2» dans les matrices par le shell. Après avoir saisi des valeurs dans les matrices «x» et «y», nous devons découvrir le produit des deux matrices. Tout d'abord, nous devons initialiser toutes les lignes et colonnes de la matrice de produit «z» à 0 sur chaque itération en utilisant à la fois «i» et «j» pour les boucles, i.e. r = 2 et c = 2.

À chaque itération, la boucle «K» est utilisée pour multiplier la matrice «x» avec «y» et ajouter cette valeur de produit à un indice d'itération particulier de la matrice «Z». Cela se poursuivra jusqu'à la dernière colonne de ligne de la matrice «Z». Les 2 dernières boucles «pour» ont été utilisées pour afficher la matrice «Z» sur la coque via l'instruction «cout» de l'objet. Après tout cela, la dernière instruction COUT est utilisée pour ajouter la ligne d'extrémité. Notre programme est maintenant prêt à être compilé sur la coquille.

Le compilateur G ++ dans Ubuntu 20.04 a été utilisé pour compiler le code C ++, et le ««./un.La requête out est utilisée pour exécuter le code compilé. Nous avons ajouté des valeurs à 2 rangées et des valeurs de 2 colonnes pour les matrices «x» et «y» sur l'exécution. Après cela, la matrice du produit «z» des deux matrices «x» et «y» a été calculée et affichée sur la coquille le dernier.

Exemple # 02:

Dans l'exemple ci-dessus, nous avons calculé la multiplication matricielle pour deux mêmes matrices, «x» et «y», du même ordre, je.e. même nombre de lignes et de colonnes pour les deux matrices. Mais connaissez-vous les règles de calcul de la multiplication matricielle? Sinon? Alors cet exemple sera la meilleure aide pour vous. Vous devez savoir que nous ne pouvons pas calculer la multiplication matricielle de deux matrices avec différentes lignes dans l'ordre de colonne. Pour effectuer une multiplication, la première valeur de ligne matricielle doit être égale à la deuxième valeur de colonne de matrice, i.e. R1 = C2 ou R2 = C1. Nous avons mis à jour la valeur de la colonne «C» à 3. Maintenant, les lignes et les valeurs de colonne pour la matrice «x» et «y» ne sont pas les mêmes. Le produit ne sera pas calculé comme la matrice «x» et «y» aura 2 lignes et 3 colonnes, je.e. R1 n'est pas égal à C2, et R2 n'est pas égal à C1. Le code restant sera inchangé et enregistré pour la compilation via Ctrl + S.

Nous avons compilé ce code de matrice de colonne de row-colonne non tapissé et l'avons exécuté jusqu'à présent. L'utilisateur a des valeurs ajoutées pour les matrices «x» et «y». Nous avons obtenu des résultats de multiplication inattendus compliqués de la matrice «x» et «y». Cette sortie est inexacte car nous n'avons pas utilisé le même ordre requis pour la multiplication matricielle.

Pour résoudre cette préoccupation, nous devons utiliser l'ordre R1 = C2 et C1 = R2 pour les matrices d'entrée dans notre code. Par conséquent, nous avons ouvert le même code et modifié les lignes et les colonnes pour la matrice «X» et «Y» avec les variables «R = 3» et «C = 4». Enregistrons ce code mis à jour et compilons.

En compilation et en exécution, nous avons ajouté une entrée pour la matrice «x» dans l'ordre 3 ROW * 4 colonnes et 4 ROW * 3 colonnes pour la matrice «Y». Nous avons la matrice du produit de l'ordre 3-ROW * 4 colonnes après la multiplication de la matrice «X» et «Y».

Exemple # 03:

Jetons un coup d'œil au dernier mais non le moindre exemple de multiplication matricielle. Nous avons initialisé R1 = 3, C1 = 4, R2 = 4, C2 = 3, Matrice «X» et Matrix «Y» séparément. La matrice du produit «M» est définie à l'aide de R1 et C2. Nous avons utilisé la boucle «pour» pour afficher les matrices «X» et «Y» déjà initialisées sur notre coquille en utilisant les objets «cout». Comme démontré dans l'image attachée ci-dessous, cela a été fait séparément pour les matrices «x» et «y» pour effectuer une multiplication matricielle.

Nous avons calculé le produit des deux matrices et ajouté le produit à la matrice «M». Enfin, nous avons affiché la matrice du produit «M» sur le shell en utilisant l'instruction d'objet «cout».

Lors de l'exécution du code, nous avons été affichés avec les matrices «X» et «Y» d'abord, puis leur matrice de produit «M».

Conclusion:

Enfin! Nous avons terminé l'explication du calcul de la multiplication de la matrice dans le code C ++ en utilisant l'Ubuntu 20.04 Système. Nous avons expliqué l'importance des lignes dans les colonnes dans l'ordre des matrices pour l'opération de multiplication. Par conséquent, nous avons commencé à partir d'un simple exemple de prise des mêmes matrices d'ordre et avancé avec les exemples de matrices d'ordre différentes.