示例数据:
tmp = reshape(magic(4), 1, 4, 4)
并且正在运行tmp(1, :, :)
:
>> tmp(1, :, :)
ans(:,:,1) =
16 5 9 4
ans(:,:,2) =
2 11 7 14
ans(:,:,3) =
3 10 6 15
ans(:,:,4) =
13 8 12 1
我的困惑是我期待显示4x4阵列magic(4)
。以下让我感到困惑:
i
tmp(:,:,i)magic(4) is being displayed as a row in
大小的, so that
列(tmp(:,:,i))`返回1 x 4。magic(4)
检索tmp(:, 1, :)
的第一行,我会得到四个单独的结果。ans(:,:,1) =
16
ans(:,:,2) =
2
ans(:,:,3) =
3
ans(:,:,4) =
13
我查看了help page on multidimensional arrays中的下图,但我无法理解为什么尝试获取magic(4)
的常用列和行子集分别返回一行和各个元素。我希望tmp(:, i, :)
返回i
第magic(4)
行,tmp(:, :, j)
返回j
第magic(4)
列$ echo -e "GET /-/system/get_health HTTP/1.1\n\n" | nc 127.0.0.1 8840
{"status": "HEALTHY"}
$
。
答案 0 :(得分:1)
你做得很好,你只是误解了matlab的提示。
当你执行tmp(:,1,:)
时,你得不到4个单独的结果,你得到一个形状1x1x4的结果,但由于Matlab不能以3维打印,它会打印每个" page"。您可以通过执行以下操作来检查:
x=temp(:,1,:);
size(x)
% ans =
% 1 1 4
如果要将其查看到一列,可以执行类似
的操作x(:)
%ans =
% 16
% 2
% 3
% 13