重构

reshape 函数可以更改数组的大小和形状。例如,将 3×4 矩阵重构成 2×6 矩阵。

A = [1 4 7 10; 2 5 8 11; 3 6 9 12]

A = 3×4

1 4 7 10

2 5 8 11

3 6 9 12

B = reshape(A,2,6)

B = 2×6

1 3 5 7 9 11

2 4 6 8 10 12

只要不同形状中的元素数量相同,就可以将它们重构成具有任意维度的数组。使用 A 中的元素,创建一个 2×2×3 的多维数组。

C = reshape(A,2,2,3)

C =

C(:,:,1) =

1 3

2 4

C(:,:,2) =

5 7

6 8

C(:,:,3) =

9 11

10 12

转置和翻转

线性代数中常见的任务是转置矩阵,即将矩阵的行变成列,将列变成行。要实现此目的,可以使用 transpose 函数或 .' 运算符。

创建一个 3×3 矩阵并计算其转置。

A = magic(3)

A = 3×3

8 1 6

3 5 7

4 9 2

B = A.'

B = 3×3

8 3 4

1 5 9

6 7 2

类似的运算符 ' 可以计算复矩阵的共轭转置。此操作计算每个元素的复共轭并对其进行转置。创建一个 2×2 复矩阵并计算其共轭转置。

A = [1+i 1-i; -i i]

A = 2×2 complex

1.0000 + 1.0000i 1.0000 - 1.0000i

0.0000 - 1.0000i 0.0000 + 1.0000i

B = A'

B = 2×2 complex

1.0000 - 1.0000i 0.0000 + 1.0000i

1.0000 + 1.0000i 0.0000 - 1.0000i

flipud 上下翻转矩阵的行,fliplr 左右翻转矩阵的列。

A = [1 2; 3 4]

A = 2×2

1 2

3 4

B = flipud(A)

B = 2×2

3 4

1 2

C = fliplr(A)

C = 2×2

2 1

4 3

平移和旋转

使用 circshift 函数,可以将数组的元素平移一定的位置数。例如,创建一个 3×4 矩阵,然后将其各列向右平移 2 个位置。第二个参数 [0 2] 要求 circshift 将各行平移 0 个位置,将各列向右平移 2 个位置。

A = [1 2 3 4; 5 6 7 8; 9 10 11 12]

A = 3×4

1 2 3 4

5 6 7 8

9 10 11 12

B = circshift(A,[0 2])

B = 3×4

3 4 1 2

7 8 5 6

11 12 9 10

要将 A 的各行向上平移 1 个位置而各列保持不动,请将第二个参数指定为 [-1 0]。

C = circshift(A,[-1 0])

C = 3×4

5 6 7 8

9 10 11 12

1 2 3 4

rot90 函数可以将矩阵逆时针旋转 90 度。

A = [1 2; 3 4]

A = 2×2

1 2

3 4

B = rot90(A)

B = 2×2

2 4

1 3

如果再旋转 3 次(使用第二个参数指定旋转次数),最后将得到原始矩阵 A。

C = rot90(B,3)

C = 2×2

1 2

3 4

排序

对数组中的数据进行排序也是一项实用功能,MATLAB 提供了几种排序方法。例如,sort 函数可以按升序或降序对矩阵的每一行或每一列中的元素进行排序。创建矩阵 A,并按升序对 A 的每一列进行排序。

A = magic(4)

A = 4×4

16 2 3 13

5 11 10 8

9 7 6 12

4 14 15 1

B = sort(A)

B = 4×4

4 2 3 1

5 7 6 8

9 11 10 12

16 14 15 13

按降序对每一行进行排序。第二个参数值 2 指定您希望逐行排序。

C = sort(A,2,'descend')

C = 4×4

16 13 3 2

11 10 8 5

12 9 7 6

15 14 4 1

要整行排序,请使用 sortrows 函数。例如,根据第一列中的元素按升序对 A 的各行排序。行的位置发生变化,但每一行中元素的顺序不变。

D = sortrows(A)

D = 4×4

4 14 15 1

5 11 10 8

9 7 6 12

16 2 3 13

matlab重排矩阵,重构和重新排列数组相关推荐

  1. MATLAB中矩阵与数组的区别,点运算符的运用

    转自http://blog.csdn.net/peterkang202/article/details/26623219 正如matlab(矩阵实验室)这个名字一样,matlab的数据结构只有矩阵(a ...

  2. matlab中数组的声明,如何使用Matlab声明矩阵数组

    我们在Matlab软件中最常用的就是数组了,那么在Matlab中声明矩阵数组有哪些方式呢?下面小编给大家分享总结一下. 工具/材料 Matlab 首先在Matlab中最常用的声明数组的方式就是使用中括 ...

  3. MATLAB“内部矩阵维度必须一致”(及要注意数组的乘法运算是要带点)

    举出这一题为例子 第一遍输出报错 修改后 图中可见连接exp与sin函数之间的乘号*前面如果没有"."则会报错内部矩阵维度必须一致 明显MATLAB把输入的式子当作矩阵处理了,而其 ...

  4. matlab 中矩阵和数组

    文章目录 一.联系 二.创建 一.联系 一维数组相当于向量,二维数组相当于矩阵.所以矩阵是数组的子集 数组运算是指数组对应元素之间的运算,也称点运算.矩阵的乘法.乘方和除法有特殊的数学含义,并不是数组 ...

  5. matlab数组元素对应相减,MATLAB下矩阵的运算 看完你就知道了

    高等教育蓬勃发展,大学生处理实际问题的能力不断提升.大学数学实验必备软件MATLAB,是全球最著名的数学软件之一,现在已成为数学系学生必须掌握的软件,强大的数值运算功能在数学建模中效果突出.出类拔萃的 ...

  6. Matlab与信号处理(一):数组与矩阵

    目录 一.数组 1.数组的创建: (1)用方括号创建: (2)用冒号创建: (3) 用函数创建: 2.数组的算术运算: (1)数组乘法: (2)数组除法: (3)数组幂运算: 二.矩阵: 1.矩阵的创 ...

  7. 【MATLAB】矩阵信息的获取

    1.矩阵结构 矩阵的结构是指矩阵子元素的排列方式. 函数名称 函数功能 isempty(A) 检测矩阵是否为空 isscalar(A) 检测矩阵是否是单元素的标量矩阵 isvector(A) 检测矩阵 ...

  8. matlab矩阵 代表什么,matlab中矩阵AB是什么意思

    Q1:matlab矩阵中的'代表什么意思 A(1)是指矩阵中的第一个元素. matlab中矩阵的排列是按照从上往下,从左往右的: 比如说,一列数,给转化为矩阵,排列如下: >> a=1:1 ...

  9. 大数据矩阵计算基础(二):R、Excel、Matlab中矩阵操作

    一.R语言 构造矩阵 a=matrix(c(1,2,3,4),ncol=2,byrow=T) b=matrix(c(5,6,7,8),ncol=2,byrow=T) c=matrix(c(1,2,3, ...

最新文章

  1. 寻找汽车连接的解决方案
  2. 【跃迁之路】【724天】程序员高效学习方法论探索系列(实验阶段481-2019.2.14)...
  3. OpenJudge百炼习题解答(C++)--题4010:2011
  4. SQL学习笔记:库和表的创建
  5. 一名Android程序员如何减少代码中该死的-if-else-嵌套,怎么让代码更简洁?
  6. 区块链BaaS云服务(32)同盾科技 IASC平台
  7. SQL 2005 数据库镜像
  8. 第三次学JAVA再学不好就吃翔(part62)--Integer类
  9. dispatchTouchEvent onInterceptTouchEvent onTouchEvent区分
  10. A - Beautiful Matrix
  11. python选择某一行_Python常用语法有哪些 如何快速入门Python开发
  12. 程序人生 | 35岁以上的 iOS 程序员都到哪里去了?
  13. 政府门户应该怎样建设?——解读中国政府网站绩效评估标准
  14. 线性表的常见操作实现
  15. karto探秘之open_karto 第二章 --- 参数解析
  16. 优雅地修改多模块maven项目中的版本号
  17. 定位系统完美拍档——无线继电器
  18. hdoj 2586 How far away ?
  19. 3.9 Primitive Obsession 基本类型偏执
  20. 商用密码企业调研(必做) 20181314

热门文章

  1. 直播平台搭建的主要方式和开发细节
  2. 如何在星巴克点咖啡 -- 解读意式咖啡单
  3. 失传百年的致富经典(一):投资真经(股票,债券,基金)
  4. 贪心算法的全部讲解(贪心选择性和贪心子结构)
  5. 首行缩进字符计算机怎么弄,word首行缩进2字符是多少厘米
  6. rabbitmq上云实践
  7. 人才是培养的吗。。。。
  8. Ceph配置——6.心跳设置
  9. 从企业数字化发展的四个阶段,看数字化创新战略
  10. 计算机主机箱内的各个组件都有哪些,电脑都有些什么部件构成?各个部件的主要功能是什么?...