左侧的MATLAB表达式

时间:2015-05-07 05:46:16

标签: matlab

有人可以解释下面的MATLAB表达式:

Matrix_l(2,:,1:5)=FX1(:,1:5)

我了解FX1中的所有行第1列到第5行都会被复制。我不遵循的是左侧表达。

2 个答案:

答案 0 :(得分:9)

由于我不知道你的实际矩阵的尺寸,我已经采用了自己方便的尺寸。

尺寸FX1

5x7
尺寸为Matrix_l

5x5x6

为了物理理解,将垂直切片(可视化黑板)复制到3D矩阵的第二水平切片(可视化地板)。

enter image description here

2D矩阵的前5列(即右侧的一列 - 在您的情况下为FX1)被复制到3D矩阵的第3维中的第2行和前5个单位(即左边 - 在你的情况下Matrix_l

此外,可以处理更高的维度。物理想象那些是不可能的。仍然值得知道它是如何工作的。

另请参阅IndexingColon(:)运算符了解更多信息。

答案 1 :(得分:1)

您的LHS-Matrix是kind of 3D-Object。因此,您将从FX1的所有行和列1到5中的所有字段插入Matrix_I的所有行和列1到5的“第二层”。 您可以将其视为一个3D立方体切片,从而产生一个2D平面,FX1中的数据将插入其中。 希望有所帮助。