当前位置:首页 > 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));
}

矩阵基本运算

矩阵相加:

js实现矩阵

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

矩阵转置

实现矩阵的行列互换:

js实现矩阵

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

import * as math from 'mathjs';

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

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

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

相关文章

js实现报表

js实现报表

使用JavaScript实现报表 在JavaScript中实现报表功能可以通过多种方式完成,常见的方法包括使用原生JavaScript、第三方库(如Chart.js、D3.js)或结合后端数据渲染。以…

js实现百叶窗

js实现百叶窗

使用CSS和JavaScript实现百叶窗效果 通过CSS动画和JavaScript事件监听可以实现百叶窗效果。核心思路是将内容区域分割为多个条状元素,通过控制它们的展开/折叠状态来模拟百叶窗。 &…

js节流实现

js节流实现

节流的概念 节流(Throttle)是一种限制函数执行频率的技术,确保函数在一定时间间隔内只执行一次。常用于滚动事件、窗口调整等高频触发的场景。 基础实现方法 使用时间戳判断是否执行函数: fun…

js实现轮播代码

js实现轮播代码

基础轮播实现 使用HTML、CSS和JavaScript创建一个简单的轮播效果。HTML部分定义轮播容器和图片元素。 <div class="carousel"> <div c…

js 实现日历

js 实现日历

实现日历的基本思路 日历的核心功能是展示日期,并允许用户进行日期选择或导航。JavaScript 可以动态生成日历的 HTML 结构,并处理用户交互逻辑。 基础日历结构 日历通常包含头部(显示月份和…

js实现图片移动

js实现图片移动

使用CSS和JavaScript实现图片移动 方法一:使用CSS动画结合JavaScript控制 通过CSS定义动画关键帧,JavaScript动态添加或移除动画类。 /* CSS部分 */ .m…