繁体   English   中英

Matlab中3维矩阵的子集

[英]A subset of 3 dimensional matrix in Matlab

假设我们有一个 3 维矩阵AX_IND = 4:8Y_IND = f(X_IND) f是一个类似于2*x^2+1的函数。 我如何从A提取以下向量:

a = A(X_IND,Y_IND,3)

然而,上述在MATLAB引线方程的矩阵,而结果应该是一个数组,因为Y_IND是的函数X_IND

使用sub2ind构建线性索引 下面是一个例子:

>> 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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM