0

我偶然发现了一些matlab代码,其中一维向量(比如长度为100的“信号”)由一个3D矩阵(比如尺寸为10x10x10的“距离”)索引,结果(“信号(距离)”)是一个3D矩阵与索引的 3D 矩阵完全相同的尺寸 10x10x10。

matlab实际上在那里做什么?向量的元素去哪了?你知道要搜索的关键字吗?

我用“索引”等关键字搜索了stackoverflow和mathworks帮助页面,但我没有找到任何有用的东西......

谢谢!

4

1 回答 1

3

在我的另一个答案中,我在“使用矩阵下标的线性索引”部分解释了也可以使用另一个矩阵进行索引。

下标矩阵被简单地转换为列向量,并用于线性索引。然而,生成的矩阵总是与下标矩阵具有相同的维度。

例如,假设:

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
于 2013-01-16T17:56:38.430 回答