百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

矩阵(I) - 网络统计学(14)

haoteby 2024-11-30 22:01 5 浏览

在数学中,矩阵(Matrix)是一个按照长方阵列排列的实数集合 ,最早来自于方程组的系数及常数所构成的方阵。矩阵是高等代数学中的常见工具,也常见于统计分析等应用数学学科中。 矩阵的运算是数值分析领域的重要问题。将矩阵分解为简单矩阵的组合可以在理论和实际应用上简化矩阵的运算。

矩阵在统计学中的用途广泛且多样,主要用于表示和操作数据、简化计算过程以及解决各种统计问题。通过矩阵运算可以简化和加速统计数据分析、建模和计算过程。无论是基本的线性代数操作,还是高级的统计分析方法,矩阵都为我们提供了强大而灵活的工具。

1、矩阵基础函数

(1)生成空矩阵

【语法】

// 函数
  webTJ.Matrix.getMEmpty(rows, col);
// 参数 
  【arrs:二维数组】

【代码】

webTJ.clear();
var oArrs=webTJ.Matrix.getMEmpty(4,5);
oArrs[3][3]=100;
oArrs[0][0]=200; 
oArrs[2][1]=300;
webTJ.display(oArrs,1)

(2)矩阵加

【语法】

// 函数
webTJ.Matrix.getPlus(arrs1, arrs2);
// 参数
【arrs1, arrs2】
【二维数组1 二维数组2】

【代码】

webTJ.clear();
var oTxt1="3:2:6:5:2:7,5:3:6:5:9:6,5:2:1:5:2:6,1:2:6:5:2:0"; //格式字符串
var oTxt2="2:1:2:3:2:2,5:3:5:5:2:6,5:2:1:3:2:2,3:2:2:5:1:1"; //行分割符","、列分割符":"
var oArr1=webTJ.getArrs(oTxt1,",",":");  //按行、列分割符转换为二维矩阵
var oArr2=webTJ.getArrs(oTxt2,",",":");
webTJ.display(oArr1,1);
webTJ.display(oArr2,1);
var oArr=webTJ.Matrix.getPlus(oArr1,oArr2); //两矩阵相加
webTJ.display(oArr,1);

注:矩阵(二维数组)加或减时,arrs1和arrs2的行和列相等

(3)矩阵减

【语法】

## 函数 ##
  webTJ.Matrix.getMinus(arrs1, arrs2);
## 参数 ##
  【arrs1, arrs2】
  【二维数组1, 二维数组1】

【代码】

webTJ.clear();
var oTxt1="3:2:6:5:2:7,5:3:6:5:9:6,5:2:1:5:2:6,1:2:6:5:2:0";
var oTxt2="2:1:2:3:2:2,5:3:5:5:2:6,5:2:1:3:2:2,3:2:2:5:1:1";
var oArr1=webTJ.getArrs(oTxt1,",",":");
var oArr2=webTJ.getArrs(oTxt2,",",":");
webTJ.display(oArr1,1);
webTJ.display(oArr2,1);
var oArr=webTJ.Matrix.getMinus(oArr1,oArr2);
webTJ.display(oArr,1);

(4)矩阵乘

【语法】

// 函数
  webTJ.Matrix.getMultiply(arrs1, arrs2);
// 参数
  【arrs1, arrs2】
  【二维数组1, 二维数组2】

【代码】

webTJ.clear();
var oTxt1="3:2:6:5:2:7,5:3:6:5:9:6,5:2:1:5:2:6,1:2:6:5:2:0";
var oTxt2="2:1:2:3,5:5:2:6,5:2:2:2,3:2:2:5,3:4:2:1,5:2:6:4";
var oArr1=webTJ.getArrs(oTxt1,",",":");
var oArr2=webTJ.getArrs(oTxt2,",",":");
webTJ.display(oArr1,1);
webTJ.display(oArr2,1);
var oArr=webTJ.Matrix.getMultiply(oArr1,oArr2);
webTJ.display(oArr,1);

注:两矩阵相乘,arrs1的列和arrs2的行相等(Ai×j × Bj×k = Ci×k

(5)矩阵转置

【语法】

// 函数
  webTJ.Matrix.getTranspose(arrs);
// 参数
  【arrs】
  【二维数组】

【代码】

webTJ.clear();
var oArr=[
[3,2,6,5,2,7], [5,3,6,5,9,6],
[5,2,1,5,2,6], [1,2,6,5,2,0]];
webTJ.display(oArr,1);
var oArr1=webTJ.Matrix.getTranspose(oArr);
webTJ.display(oArr1,1);

(6)计算逆矩阵

【语法】

// 函数
  webTJ.Matrix.getInverse(arrs);
// 参数
  【arrs】
  【二维数组】

【代码】

webTJ.clear();
var oArrs=[[2,2,3],[2,1,2],[1,3,4]];
webTJ.display(oArrs,1);
var oArrs1=webTJ.Matrix.getInverse(oArrs);
webTJ.display(oArrs1,1);

注:矩阵(二维数组)arrs为方阵

(7)计算矩阵的行列式

【语法】

// 函数
  webTJ.Matrix.getDet(arrs);
// 参数
  【arrs】
  【二维数组】

【代码】

webTJ.clear();
var oArrs = [
[6,8,4,2,8,5], [3,5,2,4,9,2], [7,6,8,3,4,5],
[5,5,2,8,1,6], [3,2,2,4,2,2], [8,3,2,2,4,1]];
var oV=webTJ.Matrix.getDet(oArrs);
webTJ.display(oV,0);

注:矩阵(二维数组)arrs为方阵

2、矩阵编辑(修改)

(1)在指定位置添加行

【语法】

// 函数
  webTJ.Matrix.getInsertRRow(arrs, rarr, row);
// 参数
  【arrs, rarr, row】
  【二维数组, 行数组, 添加行位置】

【代码】

webTJ.clear();
var oArrs=[[3,2,5,1],[2,5,4,3],[3,1,2,4],[2,1,1,5],[4,1,3,1]];
webTJ.display(oArrs,1);
var oRowv=[3,4,1,7]; //添加数组
var oTs=webTJ.Matrix.getInsertRRow(oArrs,oRowv,1); //在第2行插入添加行

(2)在指定位置添加列

【语法】

// 函数
  webTJ.Matrix.getInsertRCol(arrs,carr,col);
// 参数
  【arrs, carr, col】
  【二维数组, 给定数组, 添加列位置】  

【代码】

webTJ.clear();
var oArrs=[[3,2,5,1],[2,5,4,3],[3,1,2,4],[2,1,1,5],[4,1,3,1]];
webTJ.display(oArrs,1);
var oColv=[1,3,2,4,5]; //添加数组
var oTs=webTJ.Matrix.getInsertRCol(oArrs,oColv,1); // 在第2列添加数组
webTJ.display(oTs,1);

(3)删除行

【语法】

// 函数
  webTJ.Matrix.getRemoveRow(arrs, row);
// 参数
  【arrs, row】
  【二维数组, 删除行位置】

【代码】

webTJ.clear();
var oArrs=[[3,2,5,1],[2,5,4,3],[3,1,2,4],[2,1,1,5],[4,1,3,1]];
webTJ.display(oArrs,1);
var oTs=webTJ.Matrix.getRemoveRow(oArrs,1); //删除第2行
webTJ.display(oTs,1);

(4)删除列

【语法】

## 函数 ##
  webTJ.Matrix.getRemoveCol(arrs,col);
## 参数 ##
  【arrs:二维数组】
  【col: 删除列位置】

【代码】

webTJ.clear();
var oArrs=[[3,2,5,1],[2,5,4,3],[3,1,2,4],[2,1,1,5],[4,1,3,1]];
webTJ.display(oArrs,1);
var oTs=webTJ.Matrix.getRemoveCol(oArrs,1); //删除第2列
webTJ.display(oTs,1);

文中介绍了矩阵的基本运算和编辑操作,所有的示例代码都经过了在线工具“http://www.galaxystatistics.com/webTJX.html”的运行验证。

相关推荐

5个珍藏多年的资源网站,免费又实用,建议收藏

今天给大家分享5个珍藏多年的资源网站,每个都是免费的,而且非常的实用,建议收藏。1、wallhaven一个国外知名的壁纸网站,拥有海量的8k、4k的超清图片壁纸,该网站的图片是由各地的创作者提供下载,...

设计网站推荐 | 国内外设计类素材网站

网站分享|十个不得不推荐的设计类素材网站!一些压箱底的常用的设计类素材分享!一定要打开这些网站试一试哦!...

阿里巴巴旗下菜鸟裹裹换新LOGO?长高了

LOGO大师整理编辑(ID:logods)...

10个做PPT必备的素材网站,越用越上瘾,每个都是宝藏

Pexelshttps://www.pexels.com/zh-cn/...

阿里旗下的四款免费小工具 好用并且能大大提升工作效率

好的工具能大大的提升你的工作效率,今天给大家分享的是阿里旗下的四款经典免费小工具,主要是用来设计,能方便,且高效的提高你的工作效率,觉得有用就收藏了吧。第一个:阿里巴巴图标库阿里巴巴图标库有将近80多...

UI设计入门干货!八大软件+技能+素材网站

随着互联网行业的发展,UI设计师越来越多的被提及,UI设计师大火,需求岗位越来越多,也有越来越多的人转行投身UI设计师。UI设计是什么?一般所说的UI设计多指UI视觉设计,主要负责APP、Web、H5...

干货!宝藏PPT素材——海量图标免费使用

我是星辰四个月的假期收集了一些PPT素材,筹备了这个公众号今天终于和大家见面了此公众号不定时更新各种素材干活和PPT模板记得关注我哦~后台发送“PPT”领取免费PPT模板总是很难找到合适PPT素材?费...

写了100多篇原创文章,我常用的在线工具网站推荐给大家

摘要不知不觉写博客已经一年多了,累计写了100多篇原创文章,今天给大家分享下我经常使用的在线工具网站,希望对大家有所帮助!MarkdownNice支持自定义样式的在线Markdown编辑器,编辑完成...

设计者必备神器:必须收藏的在线软件推荐

本内容来源于@什么值得买SMZDM.COM|首席生活家保密对于新电脑或重新刷系统的电脑,安装一堆软件是很费时间的,而软件多了会对系统运行速度有影响,特别是机械硬盘,响应时间与软件数量成正比的。而用了...

干货 | 设计师必备网站,大神作品、图片素材一网打尽

经常会听到这样的一句话:设计师每日正式开始工作的第一件事,就是打开3个及以上的设计/素材网站。网站中的优秀作品不仅可以帮助设计师提升自己,还能激发创作的灵感,所以今天,我们为大家整理了一些国内外优秀的...

推荐11个超好用的在线作图网站

现在做图好像已经不是设计师的专利不管是新媒体人、文案,还是随便一个人不会随时随地做几张漂亮图不能分分钟出点海报、封面图、邀请函什么的还怎么昂首挺胸在办公室里混不会PS没关系,不会做图可不行所以今天老贼...

做设计还只知道花瓣包图网?这100+个免费商用素材网站送给你

作为设计师你常用的网站是哪些呢?花瓣?站酷?千库?千图?包图?这些网站确实是大家最常用的网站,各种风格的元素、模板、源文件,用起来可以说是得心应手了~但是一旦出现了这个场景,你就也跟着崩溃了........

5个好看的图标网站,直接搜索下载

今天和大家分享5个图标网站,里面收录大量丰富的图标,在这里找到好图标不是什么难事。Iconsdbwww.iconsdb.com...

8个高清无版权的图片资源网站,质量高又免费,够你用一辈子

很多时候我们找素材总是要花费很多时间,今天就给大家分享8个,高清无版权的图片资源网站,质量高又免费,够你用一辈子。01*Logosc...

淘宝PPT设计师不会告诉你的4个网站!帮你剩下不少钱

之前的文章中,给各位推荐过图片素材网站,像:500px,unsplash等,也给各位推荐过图标网站,像阿里巴巴图标库。这些网站都很好用。但是,我最近发现,有一类素材网站,在做PPT时也会经常用到,...