前言

之前就写过一篇关于高维矩阵求和的,现在再看的话,写得不是很清楚。

高维矩阵的求和

a=ones(2,3,4,5)a(:,:,1,1) =1     1     11     1     1a(:,:,2,1) =1     1     11     1     1a(:,:,3,1) =1     1     11     1     1a(:,:,4,1) =1     1     11     1     1a(:,:,1,2) =1     1     11     1     1
......

这样是创建了一个4维的矩阵。

sum(a,n)应该这样理解:a是目标矩阵,n是待求和的维度。显然n的取值范围是1 2 3 4。那么在某个维度求和的效果是什么呢?其实就是将这个维度的长度压缩为1。

上面有个表达“维度的长度”,大家注意区分维度长度

举例说明

例子1

>> sum(a,1)

为方便,直接进入到变量面板查看。
这是原始的a矩阵:

这是ans,也就是sum(a,1)的操作结果:

可以看到2 3 4维度都没有受到影响,只有1维度的长度被压缩到了1,当然这个维度上的数也被加和起来了,即2=1+1。

例子2

>> sum(a,2)

ans如下:

结果已经很显然了,维度2的长度被压缩到1,这个维度上的数也被加和起来,即3=1+1+1。

例子3

>> sum(a,3)

ans如下:


这个例子需要对比不同求和方式得到的ans才能体会更深刻。维度3的长度从4被压缩到1,所以维度1和2表示的2*3矩阵被叠加了4下,所以是

的形式。

例子4

>> sum(a,4)

ans如下:

同理,5=1+1+1+1+1。

小结

MATLAB的对于矩阵的展示是这样的:前两个维度是通过平面排布的方式展示出来,更高维度则是通过索引展示出来。

  • 通过平面排布的方式展示出来
    意思就是维度1表示多少行,维度2表示多少列,而行列是用一种直观的平面排布,你甚至可以没有“维度”的概念。这也是我们平时最常说的:几行几列的矩阵。

  • 通过索引展示出来
    意思就是更高维度没法在一个平面中展示出来,平面中展示的永远是维度1和2的信息,维度3以及更高则通过索引比如下面的(3,4)展示。
    所以通过(:,:,3,4)我们可以得到如下信息:维度1 2 之外还有两个维度,整个矩阵是4维的;a(:,:,3,4)是维度3的索引值=3以及维度4的索引值=4对应的矩阵。


编程的过程中是会涉及到高维矩阵的,比如下面这个约束:

es,t,j,iv=es,t−1,j,iv+ps,t,j,iv,chηj,iv,ch−1ηj,iv,disps,t,j,iv,dis∀s,t,j,ie_{s,t,j,i}^v = e_{s,t - 1,j,i}^v + p_{s,t,j,i}^{v,ch}\eta _{j,i}^{v,ch} - {1 \over {\eta _{j,i}^{v,dis}}}p_{s,t,j,i}^{v,dis}{\rm{ }}\forall s,t,j,ies,t,j,iv​=es,t−1,j,iv​+ps,t,j,iv,ch​ηj,iv,ch​−ηj,iv,dis​1​ps,t,j,iv,dis​∀s,t,j,i

最简单的方法其实是用4层循环,但这样效率低,没有充分利用MATLAB善于进行矩阵计算的特性。但是要把这个约束尽可能地写成矩阵形式(可以和for循环配合使用),理解清楚MATLAB高维矩阵的特性还是很有必要的。

另一些问题

>> a=ones(2,3,4,5);
b=sum(a,4);


b直接变成3维了。

>> a=ones(2,3,4,5);
b=sum(a,3);



b从属性上来看还是4维,但实际上第3个维度已经没有意义了。
我们在此基础上继续操作:

>> b=sum(b,4);


可以看到b直接变成2维了!由此我们可以看出,MATLAB中矩阵降维得从最外层开始降,不然会被“卡住”!

【MATLAB】高维矩阵求和相关推荐

  1. sum 矩阵求和 matlab

    matlab中针对的数据大多是以矩阵形式来处理,求和函数是sum 下面通过几个例子来介绍求和函数的应用: matlab中: a=sum(A)  %列求和 b=sum(A,2) %行求和 c=sum(A ...

  2. 矩阵期望 matlab,matlab中矩阵元素求和、求期望和均方差

    在matlab中求一个矩阵中元素的和可以自己编写for循环来完成,这样比较方便,想求那些数据的和都可以做到,然而效率比较低,如果数据量大程序会跑好长时间.所以我们可以转而用matlab提供的sum函数 ...

  3. 主成分分析PCA算法:为什么去均值以后的高维矩阵乘以其协方差矩阵的特征向量矩阵就是“投影”?

    这是从网上看到的PCA算法的步骤: 第一步,分别求每列的平均值,然后对于所有的样例,都减去对应的均值. 第二步,求特征协方差矩阵. 第三步,求协方差的特征值-显示全部 关注者 1,218 被浏览 78 ...

  4. 机器学习--主成分分析PCA算法:为什么去均值以后的高维矩阵乘以其协方差矩阵的特征向量矩阵就是“投影”?

    原文链接:主成分分析PCA算法:为什么去均值以后的高维矩阵乘以其协方差矩阵的特征向量矩阵就是"投影"?_天下对手教会少林武僧-CSDN博客_pca投影矩阵 这是从网上看到的PCA算 ...

  5. matlab将矩阵分解成lu,10行代码实现矩阵的LU分解(matlab)

    最近由于数值分析实验课要求,需要通过matlab实现矩阵的LU分解.但是看了很多网友写的程序,基本上都是通过循环嵌套循环来实现矩阵的LU分解.略感琐碎,因此最近两天便一直在思考能否利用矩阵的乘v法,来 ...

  6. Matlab中矩阵编号方式以及一维二维三维数据间的相互转换

    Matlab中矩阵编号方式以及一维二维三维数据间的相互转换 文章目录 Matlab中矩阵编号方式以及一维二维三维数据间的相互转换 一.问题的提出 二.一维数据转为二维和三维 三.三维数据转为一维和二维 ...

  7. matlab矩阵基本操作,Matlab入门----矩阵的基本操作

    注意:其他编程语言一次只能处理一个数字,而 MATLAB 可以轻松快捷地处理整个矩阵! 1.矩阵的创建 输入元素的明确列表 从外部数据文件加载矩阵 使用内置函数生成矩阵 使用自己的函数创建矩阵,并将其 ...

  8. Matlab中矩阵卷积函数convn

    Matlab中矩阵卷积函数convn 最近在看CNN做手写数字识别,其中CNN中Convolution在图像处理中就涉及了矩阵卷积.因为博主有了奥本海姆<信号与系统>中一维卷积的基础,这里 ...

  9. Matlab一维矩阵无法与三维矩阵进行矩阵乘法?

    解决方法 貌似Matlab只支持一维与二维,二维与三维的矩阵乘法.把高维矩阵降维就能解决了,但是需要注意降维之后矩阵乘法是否结果一致.stackoverflow的回答

  10. 2021-01-07 matlab数值分析  矩阵特征值与特征向量的计算 改进乘幂法 反幂法

    matlab数值分析  矩阵特征值与特征向量的计算 1改进乘幂法 function [t,y]=eigIPower(A,v0,ep) [tv,ti]=max(abs(v0)); lam0=v0(ti) ...

最新文章

  1. 《JavaEE开发的颠覆者——Spring Boot实战》是一本好书
  2. 为什么mac运行变慢,如何提升mac运行速度
  3. Kubernetes 使用 ceph-csi 消费 RBD 作为持久化存储
  4. python turtle什么意思_Python turtle shape和
  5. 如何帮助企业优化商业模式?看精益数据分析的“欺”与“破”
  6. VTK:Rendering之Cone4
  7. 新建/克隆虚拟机(配置)
  8. 科技情报研究所工资_我们所说的情报是什么?
  9. SparkHiveSQL中Join操作的谓词下推?
  10. Docker 安装 ES 7.7.0 及 Head、Kibana、IK分词器、Logstash、Filebeat 插件
  11. 深圳电子地图 深圳高清电子地图 来自谷歌电子地图 最高19级地图
  12. GIS软件开发工具包TatukGIS Developer Kernel更新至v11.7丨附下载
  13. linux学习之用户的切换
  14. 业务流程图6个图例_系统流程图用什么软件做?流程图绘制全教程
  15. [Angular2 Animation] Control Undefined Angular 2 States with void State
  16. python后端数据发送到前端_python后端开发使用flask接收前端数据,处理后返回结果...
  17. allegro中10mil过孔_Allegro中增加过孔的方法
  18. vue项目,路由跳转页面后滚动条自动回到顶部
  19. springboot ---微信ocr身份证识别
  20. CS231n第一次作业_问题1

热门文章

  1. C-COT目标跟踪-----连续卷积算子
  2. 中信银行总行信息科技部的面试(校招)
  3. matlab求极限分布,中心极限定理的Matlab演示
  4. matlab 图像分割_数字图像处理第三版中_冈萨雷斯【MATLAB】(推书活动第十七期)...
  5. 图片干扰背景处理,简单易懂
  6. 函数声明应该写在什么位置?main函数里面还是前面?(都可以,只要在调用语句的前面即可)
  7. 【三角函数】和差化积、积化和差的公式及推导证明
  8. PHP基础教程(第4版)电子书pdf下载
  9. vue 代码格式化(VS code)
  10. 魔兽n服务器网站,wowN服如何进入_魔兽世界Nostalrius服务器入驻攻略_快吧游戏