c++求矩阵的秩_一文搞定矩阵相关概念 使用Excel矩阵计算不用愁
知识要点:
矩阵的本质
矩阵的计算公式
实例演示
背景
矩阵计算是我们经常碰到的一个问题。在几乎所有跟“学问”二字稍微沾点边的东西里,矩阵这个家伙从不缺席。那Excel在其中扮演什么样的角色呢?
矩阵是什么呢?
矩阵就是把数字填到格子里。矩阵的发现来源于方程组的复杂性。
19世纪的时候,随着物理学的大发展,数学家非常苦恼,因为非常麻烦但是必须求解的方程组越来越多啦。
求解上述方程组,比较麻烦。因为我们需要使用消元法对其进行处理,式子非常冗长。于是数学家提出Matrix概念。
于是原来比较头疼的公式,似乎一下变得简单啦。其中的系数部分单独组成了一个,而参数部分表达为了一个部分。矩阵是一种操作。
于是消元法就变成了矩阵的上下的加减。
在现实生活中,矩阵的一个比较好的例子是,某公司下有店铺两家,店铺各销售三种产品。A店的销量为a,b,c,而B店的销量为d,e,f。于是可以得到其矩阵:
而每一个店的价格为pa,pb,pc,pd,pe,pd,pf。于是其价格矩阵为:
两个矩阵相乘,就是多项式的乘法运算。为了美观和后续处理,将价格矩阵转置。就变成了我们的矩阵乘法运算。
所以说,矩阵是我们日常生活运算的进一步简化。
特征值
对于给定矩阵A,寻找一个常数λ(可以为复数)和非零向量x,使得向量x被矩阵A作用后所得的向量Ax与原向量x平行,并且满足Ax=λx。
其中x就是特征向量,而λ是特征值。
相当于原有的向量就使用了系数替代,使得原有的计算的难度大大降低。
在计算店铺销售收入的时候,销售数据矩阵和价格矩阵的相乘会得到一个列向量,该列向量上的每一个值都反映其销售的收入。如果存在一个值,能够更好替代销售数量矩阵,那么简化了销售数量,我们在计算的时候,就可以大大简化计算过程。
从几何意义上,向量x和向量Ax在空间上共线的时候会存在特征向量,只有共线了才会存在一个值,是的Ax=λx。A矩阵没有改变x的方向,而只是对只是进行长度上的伸缩而已。所以特征值就是特征向量在空间中的长度。特征值越大,就意味着特征向量越长。
一个变换可由一个矩阵乘法表示,而一个空间坐标系也可视作一个矩阵,而这个坐标系就可由这个矩阵的所有特征向量表示,用图来表示的话,可以想象就是一个空间张开的各个坐标角度,这一组向量可以完全表示一个矩阵表示的空间的“特征”,而他们的特征值就表示了各个角度上的能量(可以想象成从各个角度上伸出的长短,越长的轴就越可以代表这个空间,它的“特征”就越强,或者说显性,而短轴自然就成了隐性特征),因此,通过特征向量/值可以完全描述某一几何空间这一特点,使得特征向量与特征值在几何(特别是空间几何)及其应用中得以发挥。
从运动的角度,矩阵是一个变换,变换是一种运动,对于运动而言,最重要的当然就是运动的速度和方向,:特征值就是运动的速度,特征向量就是运动的方向。要观察矩阵所代表的运动,需要把它附加到向量上才观察的出来。
特征向量所在的直线,包含了所有的特征向量,因为他们与x同线,其集合成为特征空间。
行列式的值
行列式在数学中,是一个函数,其定义域为det的矩阵A,取值为一个标量,写作det(A)或 | A | 。
一个矩阵的行列式就是一个平行多面体的(定向的)体积,这个多面体的每条边对应着对应矩阵的列。
行列式的一个主要应用是解线性方程组的解的个数。当线性方程组的方程个数与未知数个数相等时,方程组不一定总是有唯一解。对一个有n个方程和n个未知数的线性方程组,我们研究未知数系数所对应的行列式。这个线性方程组有唯一解当且仅当它对应的行列式不为零。这也是行列式概念出现的根。
矩阵的秩
矩阵不满秩有两种情况(讨论行不满秩):
一,某一行或者列为零。二,某两行或者多行线性相关。
一:讨论某行为零 当乘以一个有零行的矩阵,会对一个向量构成一种"降维"的操作。
换言之,有几个方程就可以把未知数求解出来的问题。
特征值分解
对于矩阵A可以对角化的话,可以通过相似矩阵进行下面这样的特征值分解:
A=P \Lambda P^{-1}
其中\Lambda
是对角矩阵,P的列向量是单位化的特征向量。
逆矩阵
引入逆矩阵的原因之一是用来实现矩阵的除法。比如有矩阵X,A,B,其中X*A = B,我们要求X矩阵的值。本能来说,我们只需要将B/A就可以得到X矩阵了。但是对于矩阵来说,不存在直接相除的概念。我们需要借助逆矩阵,间接实现矩阵的除法。
具体的做法是等式两边在相同位置同时乘以矩阵A的逆矩阵,如下所示,X*A*(A的逆矩阵)= B*(A的逆矩阵)。由于A*(A的逆矩阵) = I,即单位矩阵,任何矩阵乘以单位矩阵的结果都是其本身。所以,我们可以得到X = B*(A的逆矩阵)。
奇异值
奇异值分解,就是把矩阵分成多个“分力”。奇异值的大小,就是各个“分力”的大小。
奇异值分解的几何含义为:对于任何的一个矩阵,我们要找到一组两两正交单位向量序列,使得矩阵作用在此向量序列上后得到新的向量序列保持两两正交。
特征值分解是一个提取矩阵特征很不错的方法,但是它只是对方阵而言的,在现实的世界中,我们看到的大部分矩阵都不是方阵,所以需要使用奇异值分解的方法来实现。
奇异值分解是一个有着很明显的物理意义的一种方法,它可以将一个比较复杂的矩阵用更小更简单的几个子矩阵的相乘来表示,这些小矩阵描述的是矩阵的重要的特性。
假设A为m*n矩阵,U是m*m矩阵, \sum为n*m的矩阵,对角线外其他元素均为0,V^T为n*n矩阵 那么奇异值和特征值是怎么对应起来的呢?首先,我们将一个矩阵A的转置 * A,将会得到一个方阵,我们用这个方阵求特征值可以得到:
这里得到的v,就是我们上面的右奇异向量。
Excel之矩阵篇
在Excel中,矩阵采用数组形式进行表示,其快捷键为Shift+Ctrl+Enter。
说明:如果您有最新版本的Microsoft 365,则只需在输出区域左上角的单元格中输入公式,然后按enter将公式确认为动态数组公式。否则,必须首先选择输出区域,在输出区域的左上角单元格中输入公式(公式必须作为遗留的数组公式进行输入),然后按 Ctrl+Shift+Enter 进行确认。
一个单元格就是一个变量,一片单元域也可以视为一组变量。为了计算上的方便,一组变量最好给一个数组名。例如A={A1:C3}、B={E1:G3}等。数组名的设置步骤是:选定数组域,单击“插入”菜单,选择“名称”项中的“定义”命令,输入数组名,单击“确定”按钮即可。更简单的命名办法为:选择数组域,单击名称框,直接输入名称就行了。
Excel中常用的函数有:
MDETERM——计算一个矩阵的行列式的值;- MINVERSE——计算一个矩阵的逆矩阵;
MMULT——计算两个矩阵的乘积;
SUMPRODUCT——计算所有矩阵对应元素乘积之和。
返回指定维度的单位矩阵
矩阵的加减法
矩阵的加减与常规一致,对应部分加减即可。
矩阵乘法
采用MMULT可以实现
矩阵相除
矩阵A乘B的逆矩阵,所以计算公式是“=MMULT(A,MINVERSE(B))”
具体步骤请看图:
关键是首先选择需要输出的区域,这一步需要你懂一点矩阵知识,逆矩阵是大小不变的,乘法是m*n,n*m,最后是m*m。
总体而言,理论比较多,但是用起来很简单,希望可以在矩阵计算中更好地帮助你。我是兔子家的萝卜头。
版权所有,商业转载请联系本人。
长按关注本公众号,
c++求矩阵的秩_一文搞定矩阵相关概念 使用Excel矩阵计算不用愁相关推荐
- c++求矩阵的秩_一篇文章搞定矩阵相关概念及意义通俗解释汇总
最近在学习矩阵相关知识,但是其抽象的解释让人摸不着头脑,通过浏览一些博客的内容和自己的理解,本文通过通俗的语言将矩阵的内涵做了总结.其中除了书本和个人观点,部分引用博客.本文主要帮助大家理解矩阵,但不 ...
- 通俗篇:一文搞定矩阵相关概念及意义
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达本文转自 | 深度学习这件小事 最近在学习矩阵相关知识,但是其抽象的 ...
- php带参数单元测试_一文搞定单元测试核心概念
基础概念 单元测试(unittesting),是指对软件中的最小可测试单元进行检查和验证,这里的最小可测试单元通常是指函数或者类.单元测试是即所谓的白盒测试,一般由开发人员负责测试,因为开发人员知道被 ...
- hfss matlab联合仿真_一文搞定matlab 与 STK 联合调试仿真环境配置(文末附软件下载链接)...
最近在做导师给的课题:卫星星座的快速优化设计. 需要用到matlab 和 STK 来进行联合调试仿真,但是这第一步的环境配置就让我头疼了几天.在好几次重装,失败和查找资料之后,我终于成功实现了matl ...
- koa 接口返回数据_一文搞定 Koa 中间件实现原理
Koa是一个新的 web 框架,由 Express 幕后的原班人马打造, 致力于成为 web 应用和 API 开发领域中的一个更小.更富有表现力.更健壮的基石. 通过利用 async 函数, Koa ...
- import 快捷键 自动调整顺序_一文搞定PPT中的快捷键
不知道大家有没有见到过会PS的同学工作时的场景:一手鼠标移动.指点,另一手在键盘上噼里啪啦按键,屏幕上肉眼可见的速度出现了他们的作品. 操作速度非常快,非常让人羡慕他们的熟练程度. 他们对PS的快捷键 ...
- wpf怎么让grid表格中元素显示到最顶层_一文搞定PPT中的快捷键
点击上方"锦乡悦堂",一起愉快的学习吧! 不知道大家有没有见到过会PS的同学工作时的场景:一手鼠标移动.指点,另一手在键盘上噼里啪啦按键,屏幕上肉眼可见的速度出现了他们的作品. 操 ...
- 谷粒商城高级篇资料_一文搞定剑指offer面试题【分文别类篇】
点击上方"蓝字",关注了解更多 数组: 面试题3:数组中重复的数字 面试题4:二维数组中的查找 面试题21:调整数组顺序使奇数位于偶数前面 面试题39:数组中出现次数超过一半的数字 ...
- python装饰器带参数函数二阶导数公式_一文搞定Python装饰器,看完面试不再慌
本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是Python专题的第12篇文章,我们来看看Python装饰器. 一段囧事 差不多五年前面试的时候,我就领教过它的重要性.那时候我Pyt ...
最新文章
- 关于开发人员数据库权限配置以及规范数据库升级流程
- OpenCV学习(19) 细化算法(7)
- [学习笔记]电磁场与电磁波
- 《大数据导论》一第1章 理解大数据
- Java黑皮书课后题第10章:***10.8(金融:Tax类)编程练习题8.12使用数组编写一个计算税款的程序。设计一个名为Tax类,该类包含下面的实例数据域
- hotmail在outlook2007中的设置
- 对事务的特性ACID的理解
- MySQL死锁如何处理
- Java购物车swing_JAVA课程设计--购物车
- css 实现16:9比例自适应手机尺寸,可设置任意比例
- mysql自动更新时间的触发器
- centos7时间同步_基于 Canal 和 Kafka 实现 MySQL 的 Binlog 近实时同步
- 以下不是python内置函数的是_为什么说python内置函数并不是万能的?
- 最优化方法:深度学习最优化方法
- elementUI + vue实现 Excel筛选功能
- linux查看本机ip地址
- c语言乘法运算结果小数位数,如何用c语言计算小数点后位数
- Java程序在内存中运行详解
- C# 利用 Spire.PDF 实现.pdf转图片
- 治愈系插画PSD源文件+笔刷分享