当前位置:首页 > JavaScript

js实现矩阵

2026-04-05 15:32:27JavaScript

矩阵的创建与初始化

在JavaScript中,矩阵通常通过二维数组实现。以下是一个3x3矩阵的创建示例:

const matrix = [
  [1, 2, 3],
  [4, 5, 6],
  [7, 8, 9]
];

动态创建m×n矩阵的通用方法:

function createMatrix(rows, cols, defaultValue = 0) {
  return Array(rows).fill().map(() => Array(cols).fill(defaultValue));
}

矩阵基本运算

矩阵相加:

function addMatrices(a, b) {
  return a.map((row, i) => row.map((val, j) => val + b[i][j]));
}

矩阵相乘:

function multiplyMatrices(a, b) {
  const result = [];
  for (let i = 0; i < a.length; i++) {
    result[i] = [];
    for (let j = 0; j < b[0].length; j++) {
      let sum = 0;
      for (let k = 0; k < a[0].length; k++) {
        sum += a[i][k] * b[k][j];
      }
      result[i][j] = sum;
    }
  }
  return result;
}

矩阵转置

实现矩阵的行列互换:

function transpose(matrix) {
  return matrix[0].map((_, colIndex) => matrix.map(row => row[colIndex]));
}

矩阵实用操作

获取对角线元素:

function getDiagonal(matrix) {
  return matrix.map((row, i) => row[i]);
}

矩阵旋转90度:

function rotate90(matrix) {
  return matrix[0].map((_, index) => 
    matrix.map(row => row[index]).reverse()
  );
}

使用数学库

对于复杂矩阵运算,推荐使用数学库如math.js

js实现矩阵

import * as math from 'mathjs';

// 创建矩阵
const m = math.matrix([[1, 2], [3, 4]]);

// 矩阵运算
const inv = math.inv(m); // 求逆
const det = math.det(m); // 行列式

标签: 矩阵js
分享给朋友:

相关文章

jquery.js

jquery.js

jQuery 简介 jQuery 是一个快速、简洁的 JavaScript 库,用于简化 HTML 文档遍历、事件处理、动画设计和 Ajax 交互。它的设计宗旨是“Write Less, Do Mor…

js 实现链表

js 实现链表

链表的基本概念 链表是一种线性数据结构,由一系列节点组成,每个节点包含数据和指向下一个节点的指针。与数组不同,链表在内存中是非连续存储的,插入和删除操作效率较高。 链表的实现 在 JavaScrip…

js类实现

js类实现

使用类实现 JavaScript 功能 在 JavaScript 中,类(Class)是一种语法糖,基于原型继承机制。通过 class 关键字可以更直观地定义对象模板。 基本类定义 class…

js树实现

js树实现

树的基本概念 树是一种非线性的数据结构,由节点和边组成。每个节点包含一个值和指向子节点的引用。树的顶部节点称为根节点,没有子节点的节点称为叶节点。 树的实现方式 在JavaScript中,树可以通过…

链表实现js

链表实现js

链表的基本概念 链表是一种线性数据结构,由一系列节点组成,每个节点包含数据和一个指向下一个节点的指针(单向链表)或两个指针(双向链表)。与数组不同,链表在内存中非连续存储,插入和删除操作更高效,但随机…

js 实现滚动

js 实现滚动

实现滚动的方法 使用 window.scrollTo() window.scrollTo() 方法可以滚动到文档中的特定位置。可以指定 x 和 y 坐标,或者使用平滑滚动的选项。 // 滚动到指定位…