Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Multiplicación de Matrices | Trabajando con arreglos 2D
Arreglos en C#

Multiplicación de Matrices

Desliza para mostrar el menú

La multiplicación de matrices es una operación fundamental en matemáticas y programación, especialmente al trabajar con arreglos bidimensionales, también llamados matrices. Para multiplicar dos matrices, se deben seguir reglas específicas: el número de columnas de la primera matriz debe ser igual al número de filas de la segunda matriz. El resultado de multiplicar una matriz de m x n por una matriz de n x p es una nueva matriz de m x p. Cada elemento en la matriz resultante se calcula tomando el producto punto de una fila de la primera matriz y una columna de la segunda matriz.

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(); } } } }

Para comprender cómo funciona la multiplicación de matrices, sigue estos pasos basados en el código anterior:

  1. Verifica las dimensiones: la primera matriz (matrixA) tiene 3 columnas y la segunda matriz (matrixB) tiene 3 filas, lo que significa que la multiplicación es posible;
  2. Crea una matriz de resultado con tantas filas como matrixA y tantas columnas como matrixB;
  3. Utiliza tres bucles anidados:
    • El bucle externo itera sobre cada fila de la primera matriz;
    • El bucle intermedio itera sobre cada columna de la segunda matriz;
    • El bucle interno calcula la suma de productos para la fila y columna actuales, multiplicando los elementos correspondientes y sumándolos;
  4. Asigna el valor calculado a la celda correspondiente en la matriz de resultado;
  5. Imprime el resultado en un formato legible.
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. } } }

Este ejemplo verifica si dos matrices pueden multiplicarse. Define matrixA (2×2) y matrixB (1×3), luego compara el número de columnas de la primera matriz con el número de filas de la segunda. Como estos valores no coinciden, el programa imprime un mensaje de incompatibilidad y se detiene. Demuestra cómo validar las dimensiones de las matrices antes de realizar la multiplicación.

Note
Definición

Multiplicación de matrices es el proceso de combinar dos matrices para producir una nueva matriz multiplicando las filas de la primera matriz por las columnas de la segunda matriz y sumando los productos.

1. ¿Cuáles son los requisitos para multiplicar dos matrices?

2. ¿Cuántos bucles anidados se necesitan normalmente para la multiplicación de matrices?

3. ¿Qué sucede si las matrices tienen tamaños incompatibles?

question mark

¿Cuáles son los requisitos para multiplicar dos matrices?

Selecciona la respuesta correcta

question mark

¿Cuántos bucles anidados se necesitan normalmente para la multiplicación de matrices?

Selecciona la respuesta correcta

question mark

¿Qué sucede si las matrices tienen tamaños incompatibles?

Selecciona la respuesta correcta

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 4. Capítulo 5

Pregunte a AI

expand

Pregunte a AI

ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

Sección 4. Capítulo 5
some-alt