## Matrix 矩阵运算的几个集成函数
矩阵是一个很好玩儿的东西,最近在学习计算机图形学的课程,需要用到矩阵运算,所以编写几个函数来巩固一下。
### 简介
首先这个库提供的全局名称为Matrix,里面有关于矩阵的加、减、数乘、矩阵相乘、矩阵转置这五种运算函数,以及你可以使用这个库来产生全是0或者全是1的二维数组,可以生成对角矩阵。在这里,我需要提醒一下自己,我所设置的任意矩阵必须为二维数组以及必须是不为空的二维数组。比如`[[1,2]]`,这就代表1行两列的矩阵,以此类推。
### 方法介绍
#### eye( n )
生产n×n的对角矩阵,就像下面的例子:
```bash
//生成4×4的对角矩阵
var a = Matrix.eye( 4 );
console.log( a );
/*
[
[1, 0, 0, 0],
[0, 1, 0, 1],
[0, 0, 1, 0],
[0, 0, 0, 1]
]
*/
```
#### ones( m, n )
生成全为1的m×n的矩阵:
```bash
var a = Matrix.ones( 4, 5 );
console.log( a );
/*
[
[1, 1, 1, 1, 1],
[1, 1, 1, 1, 1],
[1, 1, 1, 1, 1],
[1, 1, 1, 1, 1]
]
*/
```
#### zeros( m, n )
生成m×n的全0的矩阵
```bash
var a = Matrix.zeros( 4, 5 );
console.log( a );
/*
[
[0, 0, 0, 0, 0],
[0, 0, 0, 0, 0],
[0, 0, 0, 0, 0],
[0, 0, 0, 0, 0]
]
*/
```
#### add( M1, M2 )
返回两个矩阵之和的结果,注意,两个矩阵的行列都必须严格相等。
```bash
var M1 = Matrix.eye( 3 );
var M2 = Matrix.ones( 3, 3 );
var result = Matrix.add( M1, M2 );
console.log( result );
/*
[
[2, 1, 1],
[1, 2, 1],
[1, 1, 2]
]
*/
```
#### sub( M1, M2 )
返回两个矩阵相减的结果,注意,两个矩阵的行列都必须严格相等。
```bash
var M1 = Matrix.eye( 3 );
var M2 = Matrix.ones( 3, 3 );
var result = Matrix.sub( M1, M2 );
console.log( result );
/*
[
[0, -1, -1],
[-1, 0, -1],
[-1, -1, 0]
]
*/
```
#### multip( M1, number )
返回一个矩阵与某一个数的数乘结果。
```bash
var M1 = Matrix.ones( 3, 3 );
var result = Matrix.multip( M1, 3 );
console.log( result );
/*
[
[3, 3, 3],
[3, 3, 3],
[3, 3, 3]
]
*/
```
#### dot( M1, M2 )
返回两个矩阵相乘的结果,注意第一个矩阵的列数一定要等于第二个矩阵的行数。
```bash
var M1 = [[1,2,3,4]];
var M2 = [[1], [2], [3], [4]];
var result = Matrix.dot( M1, M2 );
console.log( result );
/*
[
[30]
]
*/
```
#### transpose( M1 )
返回M1矩阵的转置矩阵。
```bash
var M1 = [[1,2,3,4]];
var result = Matrix.transpose( M1 );
console.log( result );
/*
[
[1], [2], [3], [4]
]
*/
矩阵运算-使用js实现矩阵的基本运算.zip
需积分: 1 50 浏览量
2024-05-16
08:57:52
上传
评论
收藏 3KB ZIP 举报
Ddddddd_158
- 粉丝: 1473
- 资源: 357
最新资源
- 宜搭低代码开发时(高级)题库
- 51单片机设计-交通灯与串口模拟.zip,可作参考
- OPENCV学习总结,包含图像处理常用的数据类型和库函数
- [MacOS (AppleSilicon)] Proxyman-5.2.0
- 20240414-开源证券-开源证券量化评论-形态识别,均线的收敛与发散.txt
- 2023-04-06-项目笔记 - 第一百六十一阶段 - 4.4.2.159全局变量的作用域-159 -2024.06.11
- 数字图像处理-基于Qt 5.8.0.zip
- 2023-04-06-项目笔记 - 第一百六十一阶段 - 4.4.2.159全局变量的作用域-159 -2024.06.11
- 集群机器人Matlab仿真.zip
- 第十届蓝桥杯大赛选手资源数据包(电子类)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈