当前位置:首页 > JavaScript

js实现矩阵

2026-01-31 23:14:08JavaScript

矩阵的创建与初始化

在JavaScript中,矩阵可以通过二维数组实现。创建一个3x3的零矩阵:

const matrix = [
  [0, 0, 0],
  [0, 0, 0],
  [0, 0, 0]
];

动态初始化NxM矩阵:

function createMatrix(rows, cols, defaultValue = 0) {
  return Array.from({ length: rows }, () => 
    Array.from({ length: cols }, () => defaultValue)
  );
}
const myMatrix = createMatrix(2, 3); // 2行3列的零矩阵

矩阵基本运算

矩阵相加:

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

矩阵转置:

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

矩阵乘法实现

矩阵乘法需要满足第一个矩阵的列数等于第二个矩阵的行数:

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 identityMatrix(size) {
  return Array.from({ length: size }, (_, i) =>
    Array.from({ length: size }, (_, j) => 
      i === j ? 1 : 0
    )
  );
}

生成对角矩阵:

function diagonalMatrix(diagonal) {
  const size = diagonal.length;
  return Array.from({ length: size }, (_, i) =>
    Array.from({ length: size }, (_, j) => 
      i === j ? diagonal[i] : 0
    )
  );
}

矩阵实用操作

获取矩阵行列数:

const rows = matrix.length;
const cols = matrix[0].length;

矩阵克隆:

const cloned = matrix.map(row => [...row]);

矩阵打印:

js实现矩阵

function printMatrix(matrix) {
  matrix.forEach(row => console.log(row.join(' ')));
}

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

相关文章

js实现换肤

js实现换肤

使用CSS变量实现换肤 通过CSS变量可以轻松实现主题切换功能。CSS变量在根元素中定义,通过JavaScript动态修改这些变量值。 :root { --primary-color: #349…

js实现vue路由

js实现vue路由

Vue 路由的基本实现 在 Vue.js 中实现路由功能通常使用 Vue Router 库。Vue Router 是 Vue.js 官方的路由管理器,用于构建单页面应用(SPA)。 安装 Vue R…

js实现图片

js实现图片

图片加载与显示 在JavaScript中,可以通过Image对象动态加载图片。创建实例后设置src属性触发加载,通过onload回调处理加载完成后的操作: const img = new Ima…

js实现菜单

js实现菜单

实现基本HTML结构 使用HTML创建菜单的基本框架,通常包含<ul>和<li>元素。示例结构如下: <ul id="menu"> <li><…

js图片上传实现

js图片上传实现

图片上传的基本实现 使用HTML的<input type="file">元素配合JavaScript的File API实现基础图片上传功能。HTML部分需要设置accept="image/…

js实现的游戏

js实现的游戏

JavaScript 游戏开发基础 JavaScript 是开发网页游戏的流行选择,因其无需插件即可在浏览器中运行。以下是一些关键技术和资源: HTML5 Canvas Canvas 提供了绘制图形…