难以理解MATLAB'cat'命令中的第三维

问题描述 投票:0回答:1

我正在阅读有关fliplr命令的matlab在线文档,在那里我遇到了一个命令'cat' 它用于连接。 cat命令的第一个参数指定将发生串联的维度。例如,如果第一个参数为1,则矩阵沿列连接,如果第一个参数为2,则矩阵将沿行连接。但是,如果第一个参数是3,就像在这个场景中一样。我很困惑它如何表现如附图中的当前场景所示。在分配或执行cat命令后,A的内容是什么?突出显示的行是什么意思? '3'是否意味着第三维?如果是,那怎么可能呢?它是第一页上有第一个矩阵[1 2; 3 4]的页面形式,第二页是第二个矩阵[5 6; 7 8] (如果我错了,请纠正我)

cat command query

matlab
1个回答
0
投票

是的,这是一个三维数组。 Matlab支持N维数组。见Matlab documentation for Multidimensional Arrays

在分配或执行cat命令后,A的内容是什么?

一个三维数组,输入沿第三维排列在“页面”中。

突出显示的行是什么意思?

该阵列是三维的,但您的计算机屏幕只是二维的,因此Matlab必须提出一些其他方式来显示二维的三维阵列。在这里,它将它分解为沿着更高维度的每个索引的2-D切片。

A(:,:,1) = 

  1    2
  3    4

A(:,:,2) = 

:s意味着“沿着这个维度的所有索引”。 1中的(:,:,1)意味着它是沿着维度3的第一个指数.2中的(:,:,2)意味着它是沿着维度3的第二个指数。

'3'是否意味着第三维?

是。

如果是的话,怎么可能呢?

您可以通过执行索引转换将所需的多个维度折叠到内存地址的单个维度中。当它们的计算机内存布局为1维时,它是如何首先拥有2-D阵列的扩展。看Matlab doco。

它是第一页的第一个矩阵[1 2; 3 4]和第二页的第二个矩阵[5 6; 7 8]的页面形式吗?

是。

© www.soinside.com 2019 - 2024. All rights reserved.