手抄报 安全手抄报 手抄报内容 手抄报图片 英语手抄报 清明节手抄报 节约用水手抄报

三维数组求最大最小值及其下标

时间:2024-10-13 21:29:06

1、ind2sub这个函数就是将一个数字,按照我们需要的矩阵的维度去排列。然后知道我们给出的这个数字,如果作为下标的话,是对应我们设定的维度的矩阵的哪个下标。对于ind2sub这个函数来说,是按照第一个维度,到第二个维度,到第三个维度这样逐个排列的。3x2的矩阵,第一个维度是3对应的列,然后再就是2对应的行。所以,ind2sub排列出来的下标就如下所示。[(1) (4);(2) (5);(3) (6)]可以用[x,y] =ind2sub([3,2],2); 来检验,结果如下图所示。

三维数组求最大最小值及其下标

2、10x3的矩阵,就是,先排20那一维,再排10那一维,再排3那一维;下面就是我们在MATLAB中运行命令得到的结果。[x,y,z] = ind2sub([20,10,3],1)x = 1, y = 1, z = 1[x,y,z] = ind2sub([20,10,3],11)x = 11, y = 1, z = 1[x,y,z] = ind2sub([20,10,3],21)x = 1, y = 2, z = 1[x,y,z] = ind2sub([20,10,3],201)x = 1, y = 1, z = 2

三维数组求最大最小值及其下标
三维数组求最大最小值及其下标
三维数组求最大最小值及其下标
三维数组求最大最小值及其下标

3、因此,如果我们想让ind2sub按照我们想要的顺序返回值得话,就把我们要首先排列的维度放在最前面。

4、10x3的矩阵,我们需要它先排列的是3,然后是10,然后是20。最后实际的index要按照[20,10,3]的序列再换回来。或者[z,y,x] = ind2sub([3,10,20],111);[x,y,z] = ind2sub([3,10,20],1)x = 1, y = 1, z = 1实际index: [1,1,1][x,y,z] = ind2sub([3,10,20],11)x = 2, y = 4, z = 1 实际index: [1,4,2][x,y,z] = ind2sub([3,10,20],21)x = 3, y = 7, z = 1实际index: [1,7,3][x,y,z] = ind2sub([3,10,20],201)x = 3, y = 7, z = 7实际index: [7,7,3]下面为MATLAB中[z,y,x] = ind2sub([3,10,20],111)的实际执行结果。

三维数组求最大最小值及其下标

5、对于下面的语句,求三维数组中最大值或者最小值的坐标,因为我们用[min_a,index] = min(A(:));这一语句,就把这边的排列A为一维数组和后面的ind2sub排列顺序对应起来了。就不用进行转化了。A = [1 2 3 4 5 6; 7 8 9 10 11 12; 13 14 15 16 0 17; 18 19 20 21 22 23; 24 25 26 27 28 29][min_value,min_index] = min(A(:))[x,y] = ind2sub([5,6],min_index)x = 3, y =5下面为MATLAB中的实际执行结果。

三维数组求最大最小值及其下标
三维数组求最大最小值及其下标
© 手抄报圈