我偶然发现了一些matlab代码,其中1D向量(说“长度为100的信号”)被3D矩阵索引(比如“距离”,尺寸为10x10x10),结果(“信号(距离)”)是3D矩阵具有完全相同的尺寸10x10x10作为3D矩阵索引。
matlab实际上做了什么?向量的元素在哪里?你知道要搜索的关键词吗?
我搜索了stackoverflow和mathworks帮助页面,其中包含“索引”等关键字,但我没有找到任何有用的内容......
谢谢!
答案 0 :(得分:3)
在another answer of mine中,我在“使用矩阵下标进行线性索引”部分中解释,也可以使用另一个矩阵进行索引。
下标矩阵简单地转换为列向量,并用于线性索引。但是,生成的矩阵始终与下标矩阵具有相同的维度。
例如,假设:
A = [10 20 30 40 50 60 70 80 90];
I = [1 3; 1 2];
在这种情况下,A(I)
与撰写reshape(A(I(:)), size(I))
相同。结果是:
ans =
10 70
10 40