JavaScript 행렬 곱셈
Anika Tabassum Era
2024년2월15일
JavaScript에서는 웹 개발 솔루션을 다룰 뿐만 아니라 기본 계산을 수행하는 유연성도 가질 수 있습니다. 결국 프로그래밍 언어입니다.
JavaScript에서 행렬 패턴을 활성화하기 위해 중첩 배열을 사용합니다. 이것은 쉽게 행과 열을 나타냅니다.
행렬 곱셈에서는 미리 정의된 조건을 설정해야 합니다. 예를 들어, 행렬 A
가 row_1 = 2
, column_1 = 3
이고 행렬 B
가 row_2 = 3
, column_2 = 2
인 경우 행렬 듀오는 곱셈에 적합합니다.
기본 조건 column_1
은 row_2
와 같아야 합니다. 결과는 2x2
의 순서를 갖습니다.
작업을 설명하기 위해 두 가지 예를 살펴보겠습니다.
논리 드라이브를 사용하여 JavaScript에서 행렬 곱셈 수행
이 경우 전체 배열(매트릭스 배열)을 순회하는 중첩 루프를 생성합니다. 첫 번째 행렬의 행
요소를 확인하고 두 번째 행렬의 열
을 사용하여 기본 합계 및 곱셈 연산을 계산합니다.
코드 펜스를 확인하고 이해해 봅시다.
function multiplyMatrices(m1, m2) {
var result = [];
for (var i = 0; i < m1.length; i++) {
result[i] = [];
for (var j = 0; j < m2[0].length; j++) {
var sum = 0;
for (var k = 0; k < m1[0].length; k++) {
sum += m1[i][k] * m2[k][j];
}
result[i][j] = sum;
}
}
return result;
}
let m1 = [[1, 2, 42], [4, 5, 7]];
let m2 = [[1, 2], [3, 4], [42, 7]];
var result = multiplyMatrices(m1, m2)
console.table(result)
출력:
방법을 사용하여 JavaScript에서 행렬 곱셈 계산하기
map()
및 reduce()
메서드를 사용하여 결과를 그립니다. 반복 프로세스는 명시적으로 정의할 필요가 없지만 map()
이 기본적으로 수행됩니다.
다음 코드베이스는 나머지 설명을 설명합니다.
let MatrixProd = (A, B) => A.map(
(row, i) => B[0].map(
(_, j) => row.reduce((acc, _, n) => acc + A[i][n] * B[n][j], 0)))
let A = [[1, 2, 3], [4, 5, 6]];
let B = [[1, 2], [3, 4], [5, 6]];
console.table(MatrixProd(A, B));
출력: