假设我们有一个 3 维矩阵A
和。
是一个类似的函数。如何从中提取以下向量:X_IND = 4:8
Y_IND = f(X_IND)
f
2*x^2+1
A
a = A(X_IND,Y_IND,3)
但是,MATLAB 中的上述方程会导致一个矩阵,而结果应该是一个数组,因为Y_IND
它是 的函数X_IND
。
>> A = randi(9,2,3,3)
A(:,:,1) =
6 8 8
5 2 7
A(:,:,2) =
8 7 9
8 7 2
A(:,:,3) =
8 9 8
2 4 8
>> X_IND = [1 2];
>> Y_IND = X_IND + 1;
>> Z_IND = 3;
>> Z_IND = repmat(3, size(X_IND)); %// all indices should have the same size
>> ind = sub2ind(size(A), X_IND, Y_IND, Z_IND); %// build linear index
>> A(ind)
ans =
9 8