• ind2sub


    ind2sub

    线性索引的下标

    语法

    [I,J] = ind2sub(siz,IND)
    [I1,I2,I3,...,In] = ind2sub(siz,IND)

     

    说明

    ind2sub 函数确定与数组的单个索引对应的等效下标值。

    [I,J] = ind2sub(siz,IND) 返回矩阵 I 和 J,其中包含与矩阵 IND(大小为 siz 的矩阵)中的每个线性索引对应的对等行下标和列下标。siz 是一个包含 ndim(A) 个元素(此示例为 2 个元素)的向量,其中 siz(1) 为行数,siz(2) 为列数。

    注意

    对于矩阵,[I,J] = ind2sub(size(A),find(A>5)) 与 [I,J] = find(A>5) 返回相同的值。

    [I1,I2,I3,...,In] = ind2sub(siz,IND) 返回 n 个下标数组 I1,I2,...,In,其中包含等效于 IND(大小为 siz 的数组)的多维数组下标。siz 是一个指定每个数组维度大小的 n 元素向量。

    IND 输入可以是 singledouble 或任意整数类型。输出始终属于 double 类。

    示例

    示例 1 - 二维矩阵

    3×3 矩阵从线性索引到对等下标的映射为

    此代码确定 3×3 矩阵中线性索引为 3、4、5、6 的元素的行下标和列下标。

    IND = [3 4 5 6]
    s = [3,3];
    [I,J] = ind2sub(s,IND)
    
    I =
         3     1     2     3
    
    J =
         1     2     2     2

    示例 2 - 三维矩阵

    2×2×2 数组从线性索引到对等下标的映射为

    此代码确定 2×2×2 数组中线性索引为 3、4、5、6(在 IND 矩阵中指定)的元素的对等下标。

    IND = [3 4;5 6];
    s = [2,2,2];
    [I,J,K] = ind2sub(s,IND)
    
    I =
         1     2
         1     2
    
    J =
         2     2
         1     1
    
    K =
         1     1
         2     2

    示例 3 - 返回较少输出的影响

    对 N 维矩阵调用 ind2sub 时,通常应在调用中提供 N 个输出参数:矩阵的每个维度一个参数。此示例显示在对某个三维矩阵调用 ind2sub 时返回三个、两个和一个输出时发生的情况。

    该矩阵为 2×2×2 矩阵,并且线性索引从 1 到 8:

    dims = [2 2 2];
    indices = [1 2 3 4 5 6 7 8];

    具有三个输出的 ind2sub 调用返回 2×2×2 矩阵的预期下标:

    [rowsub colsub pagsub] = ind2sub(dims, indices)
    rowsub =
         1     2     1     2     1     2     1     2
    colsub =
         1     1     2     2     1     1     2     2
    pagsub =
         1     1     1     1     2     2     2     2

    如果您仅指定两个输出(行和列),ind2sub 仍将返回每个指定索引的下标,但会从矩阵中删除第三个维度,并改为返回一个二维的 2×4 矩阵的下标:

    [rowsub colsub] = ind2sub(dims, indices)
    rowsub =
         1     2     1     2     1     2     1     2
    colsub =
         1     1     2     2     3     3     4     4

    如果您指定一个输出(行),ind2sub 将从矩阵中删除第二个维度和第三个维度,并改为返回一个一维的 1×8 矩阵的下标:

    [rowsub] = ind2sub(dims, indices)
    rowsub =
         1     2     3     4     5     6     7     8
  • 相关阅读:
    洛谷P3128 [USACO15DEC]Max Flow P 题解 树上差分(点差分)
    数列分块解决区间更新+区间最值问题
    ThinkPad P1 Gen3 4K 显示器出现间歇闪黑屏情况解决
    Qt自定义弹出式菜单(Qt自定义弹窗)
    软件产品易用性评价评估标准
    vue用echarts实现中国地图和世界地图
    知了业务逻辑梳理
    string.gfind string.gmatch
    无法定位程序输入点在 XXXX上...
    [Lua]c解析lua 嵌套table
  • 原文地址:https://www.cnblogs.com/hyb221512/p/10780384.html
Copyright © 2020-2023  润新知