matlab中的sub2ind函数
在matlab中,矩阵的存储是按列优先,sub2ind函数将矩阵中指定元素的行列下标转换成存储的序号,即线性索引号。下面,我们举例子进行说明。
1 建立一个3*4*2的矩阵
rng(0,'twister'); % Initialize random number generator.
A = rand(3, 4, 2)
A(:,:,1) =
0.8147 0.9134 0.2785 0.9649
0.9058 0.6324 0.5469 0.1576
0.1270 0.0975 0.9575 0.9706
A(:,:,2) =
0.9572 0.1419 0.7922 0.0357
0.4854 0.4218 0.9595 0.8491
0.8003 0.9157 0.6557 0.9340
将元素A(2, 1, 2)的下标转换成线性索引号
linearInd = sub2ind(size(A), 2, 1, 2) linearInd = 14
A(2, 1, 2) A(14) ans = and = 0.4854 0.4854
2 针对这种三维的矩阵,如果缺省第三个下标,默认为1。
linearInd = sub2ind(size(A), 2, 4) ans = 11
linearInd = sub2ind(size(A), 2, 4, 1) ans = 11
3 假如要转换多个元素,我们可以使用一条命令完成。例子是转换5个元素下标为线性索引号。
sub2ind(size(A), 3, 3, 2); sub2ind(size(A), 2, 4, 1); sub2ind(size(A), 3, 1, 2); sub2ind(size(A), 1, 3, 2); sub2ind(size(A), 2, 4, 1);
sub2ind(size(A), [3 2 3 1 2], [3 4 1 3 4], [2 1 2 2 1]) ans = 21 11 15 19 11
%%[3 2 3 1 2], [3 4 1 3 4], [2 1 2 2 1] 分别代表行,列,纵向的下标。%%
[A(3,3,2), A(2,4,1), A(3,1,2), A(1,3,2), A(2,4,1)] ans = 0.6557 0.1576 0.8003 0.7922 0.1576 A([21, 11, 15, 19, 11]) ans = 0.6557 0.1576 0.8003 0.7922 0.1576
matlab中的sub2ind函数的更多相关文章
- python实现类似于Matlab中的magic函数
参考这篇文章的代码封装了一个类似Matlab中的magic函数,用来生成魔方矩阵. #!/usr/bin/env python # -*- coding: utf-8 -*- import numpy ...
- matlab中的eval函数使用
matlab中的eval函数使用 在matlab的命令行窗口中输入help eval命令回车就可以看到eval函数的官方解释,大概的意思就是执行matlab中的表达式,计算expression表示的代 ...
- Matlab中的eig函数和Opecv中eigen()函数的区别
奇异值分解的理论参见下面的链接 http://www.cnblogs.com/pinard/p/6251584.html https://blog.csdn.net/shenziheng1/artic ...
- Matlab中的fread函数
Matlab中fread函数用法 "fread"以二进制形式,从文件读出数据. 语法1:[a,count]=fread(fid,size,precision) 语法2:[a, ...
- matlab中CRC的函数使用
先学习一下matlab中CRC函数. 语法如下: h = crc.generator(‘Polynomial', polynomial, ‘param1', val1, etc.) 再看一个例子就比较 ...
- matlab中help所有函数功能的英文翻译
doc funname 在帮助浏览器中打开帮助文档 help funname 在命令窗口打开帮助文档 helpbrowser 直接打开帮助浏览器 lookfor funname 搜索某个关键字相关函数 ...
- MATLAB中的参数估计函数详解及调用示例【联合整理】
前言 因为最近项目上的需要,才发现MATLAB的统计工具箱中的参数估计函数,觉得很简单很好用,现在把所有的参数估计函数整理一下,并在最后面附上调用示例. 参与人员 由于时间关系,这篇随笔是两个人一起整 ...
- Matlab中利用null函数解齐次线性方程组
摘自:http://blog.csdn.net/masibuaa/article/details/8119032 有齐次线性方程AX=0,且rank(A)=r<n时,该方程有无穷多个解, 可以用 ...
- MATLAB中的set函数
1.MATLAB给每种对象的每一个属性规定了一个名字,称为属性名,而属性名的取值成为属性值.例如,LineStyle是曲线对象的一个属性名,它的值决定着线型,取值可以是'-' .':'.'-.'.'- ...
随机推荐
- 【PowerOJ1738】最小路径覆盖
Description 给定有向图G=(V,E).设P 是G 的一个简单路(顶点不相交)的集合.如果V 中每个 顶点恰好在P 的一条路上,则称P是G 的一个路径覆盖.P 中路径可以从V 的任何一个顶 ...
- ●BZOJ 2119 股市的预测
题链: http://www.lydsy.com/JudgeOnline/problem.php?id=2119 题解: 这个题很好的. 首先把序列转化为差分序列,问题转化为找到合法的子序列,使得去除 ...
- Python 编程规范
原文传送符:请点击
- 通过接口标准化ABAP OO开发
本文是对接口编程的讨论,希望能对年轻的开发者有所帮助. 要点: 通过接口对类方法进行更高层的抽象 接口使代码清晰易读 接口使你可以创建模拟对象(Mockup Object)以提高代码的可测试性 帮助实 ...
- Weekly Contest 75题解
Q1. Rotate String(796) We are given two strings, A and B. A shift on A consists of taking string A a ...
- Java JS SHA-256加密
http://www.cnblogs.com/elaron/archive/2013/04/09/3010375.html js部分: <html> <head></he ...
- js获取当前的日期时间 格式“yyyy-MM-dd HH:MM:SS”
function getNowFormatDate() { var date = new Date(); var seperator1 = "-"; var seperator2 ...
- 关于ES7中的async/await在客户端和服务端上的实践
一.前言 在项目中经常遇到处理异步请求的情况,面对层层的嵌套,回调显示那么苍白无力: async / await是ES7的重要特性之一,也是目前社区里公认的优秀异步解决方案,既然这样就用上吧. 二.配 ...
- centos 7 破解密码
CentOS 7 root密码的重置方式和CentOS 6完全不一样,CentOS 7与之前的版本6变化还是比较大的,以进入单用户模式修改root密码为例. 1.重启开机按esc 2.按e ...
- geotrellis使用(四十)优雅的处理请求超过最大层级数据
前言 要说清楚这个题目对我来说可能都不是一件简单的事情,我简单尝试. 研究 GIS 的人应该都清楚在 GIS 中最常用的技术是瓦片技术,无论是传统的栅格瓦片还是比较新颖的矢量瓦片,一旦将数据切好瓦片就 ...