How can I extract a slice from a multidimensional array?
古いコメントを表示
I have an array of variable dimensions and want to extract a slice of it.
If I the size of the array was fixed I would like to do:
result = G(:,:,:,r,:,:);
But in my case, r is a variable and so are the dimensions of G and the dimension from which I want to extract the slice (in this case the 4th dimension).
-----------------------------------
I am able to costruct a cell array containing the indices that need to be extracted, but can't extract them.
N = ndims(G);
other_dimensions = [1:(n-1),(n+1):N];
sz = size(G);
inds = repmat({r},1,ndims(G));
for k = 1:length(other_dimensions)
inds{other_dimensions(k)} = 1:sz(other_dimensions(k));
end
result = A(inds) % (not working)
採用された回答
その他の回答 (0 件)
カテゴリ
ヘルプ センター および File Exchange で Matrix Indexing についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!