matlab重排矩阵,重构和重新排列数组
重构
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重排矩阵,重构和重新排列数组相关推荐
- MATLAB中矩阵与数组的区别,点运算符的运用
转自http://blog.csdn.net/peterkang202/article/details/26623219 正如matlab(矩阵实验室)这个名字一样,matlab的数据结构只有矩阵(a ...
- matlab中数组的声明,如何使用Matlab声明矩阵数组
我们在Matlab软件中最常用的就是数组了,那么在Matlab中声明矩阵数组有哪些方式呢?下面小编给大家分享总结一下. 工具/材料 Matlab 首先在Matlab中最常用的声明数组的方式就是使用中括 ...
- MATLAB“内部矩阵维度必须一致”(及要注意数组的乘法运算是要带点)
举出这一题为例子 第一遍输出报错 修改后 图中可见连接exp与sin函数之间的乘号*前面如果没有"."则会报错内部矩阵维度必须一致 明显MATLAB把输入的式子当作矩阵处理了,而其 ...
- matlab 中矩阵和数组
文章目录 一.联系 二.创建 一.联系 一维数组相当于向量,二维数组相当于矩阵.所以矩阵是数组的子集 数组运算是指数组对应元素之间的运算,也称点运算.矩阵的乘法.乘方和除法有特殊的数学含义,并不是数组 ...
- matlab数组元素对应相减,MATLAB下矩阵的运算 看完你就知道了
高等教育蓬勃发展,大学生处理实际问题的能力不断提升.大学数学实验必备软件MATLAB,是全球最著名的数学软件之一,现在已成为数学系学生必须掌握的软件,强大的数值运算功能在数学建模中效果突出.出类拔萃的 ...
- Matlab与信号处理(一):数组与矩阵
目录 一.数组 1.数组的创建: (1)用方括号创建: (2)用冒号创建: (3) 用函数创建: 2.数组的算术运算: (1)数组乘法: (2)数组除法: (3)数组幂运算: 二.矩阵: 1.矩阵的创 ...
- 【MATLAB】矩阵信息的获取
1.矩阵结构 矩阵的结构是指矩阵子元素的排列方式. 函数名称 函数功能 isempty(A) 检测矩阵是否为空 isscalar(A) 检测矩阵是否是单元素的标量矩阵 isvector(A) 检测矩阵 ...
- matlab矩阵 代表什么,matlab中矩阵AB是什么意思
Q1:matlab矩阵中的'代表什么意思 A(1)是指矩阵中的第一个元素. matlab中矩阵的排列是按照从上往下,从左往右的: 比如说,一列数,给转化为矩阵,排列如下: >> a=1:1 ...
- 大数据矩阵计算基础(二):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, ...
最新文章
- 寻找汽车连接的解决方案
- 【跃迁之路】【724天】程序员高效学习方法论探索系列(实验阶段481-2019.2.14)...
- OpenJudge百炼习题解答(C++)--题4010:2011
- SQL学习笔记:库和表的创建
- 一名Android程序员如何减少代码中该死的-if-else-嵌套,怎么让代码更简洁?
- 区块链BaaS云服务(32)同盾科技 IASC平台
- SQL 2005 数据库镜像
- 第三次学JAVA再学不好就吃翔(part62)--Integer类
- dispatchTouchEvent onInterceptTouchEvent onTouchEvent区分
- A - Beautiful Matrix
- python选择某一行_Python常用语法有哪些 如何快速入门Python开发
- 程序人生 | 35岁以上的 iOS 程序员都到哪里去了?
- 政府门户应该怎样建设?——解读中国政府网站绩效评估标准
- 线性表的常见操作实现
- karto探秘之open_karto 第二章 --- 参数解析
- 优雅地修改多模块maven项目中的版本号
- 定位系统完美拍档——无线继电器
- hdoj 2586 How far away ?
- 3.9 Primitive Obsession 基本类型偏执
- 商用密码企业调研(必做) 20181314
热门文章
- 直播平台搭建的主要方式和开发细节
- 如何在星巴克点咖啡 -- 解读意式咖啡单
- 失传百年的致富经典(一):投资真经(股票,债券,基金)
- 贪心算法的全部讲解(贪心选择性和贪心子结构)
- 首行缩进字符计算机怎么弄,word首行缩进2字符是多少厘米
- rabbitmq上云实践
- 人才是培养的吗。。。。
- Ceph配置——6.心跳设置
- 从企业数字化发展的四个阶段,看数字化创新战略
- 计算机主机箱内的各个组件都有哪些,电脑都有些什么部件构成?各个部件的主要功能是什么?...