MATLAB数组的一些操作

  • Post author:
  • Post category:其他




1 数组元素位置

数组从1开始索引,区别Python和C/C++从0开始索引。例如数组A = [1 3 5;2 4 6],其中1是第一行第一列的元素,非第0行第0列元素。

在这里插入图片描述



2 二维数组下标和线性索引装换



2.1.1 数组的元素位置和线性索引位置都能得到数值

例如上面的A元素,其中3是第1行第2个,同样在线性索引中是第3个,即有

A(1,2)=A(3)



在这里插入图片描述



2.1.2 线性索引和行列的关系

在这里插入图片描述



2.1.3 下标转换为线性索引sub2ind()函数

下标转换为线性索引(subscripts to linear indices)函数sub2ind(),其中:

1、使用方法:

sub2ind([矩阵行数,矩阵列数],[下标行集合],[下标列集合])

2、返回结果:结果和输入的下标类型是一致的,即下标是逗号的行向量(2Xn),则结果就是一维行索引(1Xn);若输入的是分号的列向量(nX2)得到的结果为一维列向量(nX1)索引

3、以上图的6,11和16为例,使用

sub2ind([4,5],[2,3],[2,3])

求得6和11,16(行向量)如图左,使用

sub2ind([4,5],[2;3],[2;3])

求得6和11,16(列向量)如图右。

在这里插入图片描述



2.1.4 线性索引转换为下标ind2sub()函数

线性索引转换为下标(linear indices to subscripts)的ind2sub()函数。

1、用法ind2sub([矩阵行数,矩阵列数],[线性索引集合]),同样输出结果同输入结果类型一致。

2、输出结果用一个变量去获取,得到的还是索引值

在这里插入图片描述

3、输出结果和输入类型一致,输入为

行索引

,输出结果为行下标集合

在这里插入图片描述

4、输入为列索引,输出为

列下标

集合

在这里插入图片描述

tips:总结,按行输入的排列[行;列]中间用分号,形成2Xn的行向量;按列的索引[行,列]中间用逗号,形成nX2的列向量。理解即可,行和行组合成二维下标行向量当然是按行排(换行,用分号换行),列和列组成二维列向量当然按列排(逗号按列衔接)。



版权声明:本文为qq_42727752原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。