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

ind2sub的更多相关文章

  1. matlab学习笔记11_2高维数组操作 squeeze,ind2sub, sub2ind

    一起来学matlab-matlab学习笔记11 11_2 高维数组处理和运算 squeeze, ind2sub, sub2ind 觉得有用的话,欢迎一起讨论相互学习~Follow Me squeeze ...

  2. 闪电动画模拟(Dielectric Breakdown Model)附源码

    当两个物体之间存在较大的电势差时会出现放电现象,比如生活中常见的闪电现象,闪电形成的条件就是云层积累了大量负电荷之后与地面之间形成了强大的电势差.目前关于闪电建模的方法比较少,下面介绍一种利用电介击穿 ...

  3. Matlab

    Q:workspace没有显示变量的值 A:这是因为子程序里的变量是局部变量,他们的作用域就是子函数内部,会在流程控制回到主调函数前被系统自动释放掉,所以,一旦子程序运行完,你是不可能再查看子程序里的 ...

  4. SVM实现邮件分类

    首先学习一下svm分类的使用. 主要有以下步骤: Loading and Visualizing Dataj Training Linear SVM Implementing Gaussian Ker ...

  5. 归一化交叉相关Normalization cross correlation (NCC)

    归一化交叉相关Normalization cross correlation (NCC) 相关系数,图像匹配 NCC正如其名字,是用来描述两个目标的相关程度的,也就是说可以用来刻画目标间的相似性.一般 ...

  6. Deep Learning 19_深度学习UFLDL教程:Convolutional Neural Network_Exercise(斯坦福大学深度学习教程)

    理论知识:Optimization: Stochastic Gradient Descent和Convolutional Neural Network CNN卷积神经网络推导和实现.Deep lear ...

  7. 机器学习&数据挖掘笔记_21(PGM练习五:图模型的近似推理)

    前言: 这次练习完成的是图模型的近似推理,参考的内容是coursera课程:Probabilistic Graphical Models . 上次实验PGM练习四:图模型的精确推理 中介绍的是图模型的 ...

  8. Matlab中数组元素引用——三种方法

    Matlab中数组元素引用——三种方法   1.Matlab中数组元素引用有三种方法 1 2 3 1.下标法(subscripts) 2.索引法(index) 3.布尔法(Boolean) 注意:在使 ...

  9. 最小生成树问题---Prim算法与Kruskal算法实现(MATLAB语言实现)

    2015-12-17晚,复习,甚是无聊,阅<复杂网络算法与应用>一书,得知最小生成树问题(Minimum spanning tree)问题.记之. 何为树:连通且不含圈的图称为树. 图T= ...

随机推荐

  1. touch.js 拖动、缩放、旋转 (鼠标手势)

    可以实现手势操作:拖动.缩放.旋转.封装好的脚本方法是这样的: var cat = window.cat || {}; cat.touchjs = { left: 0, top: 0, scaleVa ...

  2. 51nod"省选"模测 A 树的双直径(树形dp)

    题意 题目链接 Sol 比赛结束后才调出来..不多说啥了,就是因为自己菜. 裸的up-down dp,维护一下一个点上下的直径就行,一开始还想了个假的思路写了半天.. 转移都在代码注释里 毒瘤题目卡空 ...

  3. 1.Odoo产品分析系列 – 目录

    Odoo产品分析 (一) – 一切为零 Odoo产品分析 (二) – 商业板块(1) – 销售(1) Odoo产品分析 (二) – 商业板块(1) – 销售(2) Odoo产品分析 (二) – 商业板 ...

  4. Android为TV端助力 关于线程的那些事

    今天发现之前自己一直有个误区,new Runnable(run()方法){}原来它不是一定创建一个线程 如果用主线程的handler去post(Runnable),他就不会创建子线程,而是在主线程上执 ...

  5. UVA 1152 4 Values whose Sum is 0 (枚举+中途相遇法)(+Java版)(Java手撕快排+二分)

    4 Values whose Sum is 0 题目链接:https://cn.vjudge.net/problem/UVA-1152 ——每天在线,欢迎留言谈论. 题目大意: 给定4个n(1< ...

  6. [20181225]12CR2 SQL Plan Directives.txt

    [20181225]12CR2 SQL Plan Directives.txt --//12C引入SQL PLAN Directives.12cR1版本会造成大量的动态取样,影响性能.许多人把OPTI ...

  7. create table 使用select查询语句创建表的方法分享

    转自:http://www.maomao365.com/?p=6642 摘要:下文讲述使用select查询语句建立新的数据表的方法分享 ---1 mysql create table `新数据表名` ...

  8. 想起以前写的一个爬虫,然后就用C#WinForm写了一个下载小说的软件,比较简单

    本软件本是练习.讨论爬虫技术所用.如果侵犯了您的利益请联系我,我会立即删除! 小工具安装包: 百度网盘链接:https://pan.baidu.com/s/1m_OuEBOEE47kYaXq5fwpI ...

  9. MySQL高性能优化实战总结!

    1.1 前言 MySQL对于很多Linux从业者而言,是一个非常棘手的问题,多数情况都是因为对数据库出现问题的情况和处理思路不清晰.在进行MySQL的优化之前必须要了解的就是MySQL的查询过程,很多 ...

  10. [Hive_5] Hive 的 JDBC 编程

    0. 说明 Hive 的 JDBC 编程 1. hiveserver2 介绍 hiveserver2 是 Hive 的 JDBC 接口,用户可以连接此端口来连接 Hive 服务器 JDBC 驱动类为 ...