【发布时间】:2018-07-19 05:42:17
【问题描述】:
我正在尝试提出一个方程式,将 3D 数组中的值的索引与同一数组的索引相关联,但重新整形为列向量。
考虑以下内容。
A = randi([1,10],3,2,2);
A2 = reshape(A,3*2*2,1);
A 和A2 具有相同数量的元素,但每个数组的元素排列方式不同。如果我在这里为A 和A2 列出一个可能的例子,那么每个索引的几何排列方式就很清楚了。
A(:,:,1) = [9 10; 10 7; 2 1]
A(:,:,2) = [3 10; 6 2; 10 10]
A2 = [9; 10; 2; 10; 7; 1; 3; 6; 10; 10; 2; 10]
假设n=1:1:3*2*2,这是一个与A2 长度相同的数组,并对每个元素进行编号。 A(2,2,2)=2 的值和索引 [i,j,k]=[2,2,2]。我想要一个关于 i、j、k 和 n 的方程。
我查看了内置函数 ind2sub 和 sub2ind,但似乎我无意中塑造了我的 i、j 和 k 坐标(对应于实际的 x、y 和 z 点)与MatLab 是怎么做的。这让我现在很难改变一切,这也是我需要一个方程式的原因。
【问题讨论】:
-
谢谢,我的意思是 12x1,我会纠正这个。
-
@Wolfie 我解释了我对坐标的意思,你到底不明白什么?我认为这与回答问题没有任何关系。
-
我只是想建议您一些最佳实践...如果您按照惯例行事,那么听起来
ind2sub和sub2ind将是您的答案,不是吗?您可以通过从一维向量开始并使用等于索引的值而不是随机数来轻松地对其进行逆向工程。 -
不,因为我没有时间这样做。
-
@WnGatRC456 请澄清您的具体问题或添加其他详细信息以准确突出您的需求。正如目前所写的那样,很难准确地说出你在问什么。