Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Matrixvermenigvuldiging | Werken met 2D-Arrays
C# Arrays

Matrixvermenigvuldiging

Veeg om het menu te tonen

Matrixvermenigvuldiging is een fundamentele bewerking in de wiskunde en programmeren, vooral bij het werken met 2D-arrays, ook wel matrices genoemd. Om twee matrices te vermenigvuldigen, moeten specifieke regels worden gevolgd: het aantal kolommen in de eerste matrix moet gelijk zijn aan het aantal rijen in de tweede matrix. Het resultaat van het vermenigvuldigen van een m x n matrix met een n x p matrix is een nieuwe m x p matrix. Elk element in de resulterende matrix wordt berekend door het nemen van het inwendig product van een rij uit de eerste matrix en een kolom uit de tweede matrix.

MatrixMultiplication.cs

MatrixMultiplication.cs

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
using System; namespace ConsoleApp { public class MatrixMultiplication { public static void Main(string[] args) { int[,] matrixA = { {1, 2, 3}, {4, 5, 6} }; int[,] matrixB = { {7, 8}, {9, 10}, {11, 12} }; int rowsA = matrixA.GetLength(0); int colsA = matrixA.GetLength(1); int rowsB = matrixB.GetLength(0); int colsB = matrixB.GetLength(1); if (colsA != rowsB) { Console.WriteLine("Cannot multiply: incompatible matrix sizes."); return; } int[,] result = new int[rowsA, colsB]; for (int i = 0; i < rowsA; i++) { for (int j = 0; j < colsB; j++) { int sum = 0; for (int k = 0; k < colsA; k++) { sum += matrixA[i, k] * matrixB[k, j]; } result[i, j] = sum; } } Console.WriteLine("Result of matrix multiplication:"); for (int i = 0; i < rowsA; i++) { for (int j = 0; j < colsB; j++) { Console.Write(result[i, j] + " "); } Console.WriteLine(); } } } }

Om te begrijpen hoe matrixvermenigvuldiging werkt, volg deze stappen op basis van de bovenstaande code:

  1. Controleer de afmetingen: de eerste matrix (matrixA) heeft 3 kolommen en de tweede matrix (matrixB) heeft 3 rijen, wat betekent dat vermenigvuldiging mogelijk is;
  2. Maak een resultaatmatrix met evenveel rijen als matrixA en evenveel kolommen als matrixB;
  3. Gebruik drie geneste lussen:
    • De buitenste lus doorloopt elke rij van de eerste matrix;
    • De middelste lus doorloopt elke kolom van de tweede matrix;
    • De binnenste lus berekent de som van producten voor de huidige rij en kolom, waarbij overeenkomstige elementen worden vermenigvuldigd en opgeteld;
  4. Wijs de berekende waarde toe aan de juiste cel in de resultaatmatrix;
  5. Druk het resultaat af in een leesbaar formaat.
IncompatibleMatrices.cs

IncompatibleMatrices.cs

12345678910111213141516171819202122232425262728293031
using System; namespace ConsoleApp { public class IncompatibleMatrices { public static void Main(string[] args) { int[,] matrixA = { {1, 2}, {3, 4} }; int[,] matrixB = { {5, 6, 7} }; int colsA = matrixA.GetLength(1); int rowsB = matrixB.GetLength(0); if (colsA != rowsB) { Console.WriteLine("Cannot multiply: the number of columns in the first matrix does not match the number of rows in the second matrix."); return; } // This code will not be reached because the matrices are incompatible. } } }

Dit voorbeeld controleert of twee matrices met elkaar vermenigvuldigd kunnen worden. Het definieert matrixA (2×2) en matrixB (1×3), en vergelijkt vervolgens het aantal kolommen in de eerste matrix met het aantal rijen in de tweede. Omdat deze waarden niet overeenkomen, geeft het programma een incompatibiliteitsmelding en stopt. Dit toont aan hoe matrixdimensies gevalideerd kunnen worden voordat vermenigvuldiging wordt uitgevoerd.

Note
Definitie

Matrixvermenigvuldiging is het proces waarbij twee matrices worden gecombineerd om een nieuwe matrix te vormen door rijen van de eerste matrix te vermenigvuldigen met kolommen van de tweede matrix en de producten op te tellen.

1. Wat zijn de vereisten voor het vermenigvuldigen van twee matrices?

2. Hoeveel geneste lussen zijn er doorgaans nodig voor matrixvermenigvuldiging?

3. Wat gebeurt er als de matrices onverenigbare afmetingen hebben?

question mark

Wat zijn de vereisten voor het vermenigvuldigen van twee matrices?

Selecteer het correcte antwoord

question mark

Hoeveel geneste lussen zijn er doorgaans nodig voor matrixvermenigvuldiging?

Selecteer het correcte antwoord

question mark

Wat gebeurt er als de matrices onverenigbare afmetingen hebben?

Selecteer het correcte antwoord

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 4. Hoofdstuk 5

Vraag AI

expand

Vraag AI

ChatGPT

Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.

Sectie 4. Hoofdstuk 5
some-alt