Four indexing matrix
古いコメントを表示
I have a matrix nxn, each element is described by a 2 index number (i.e. one number for the column, one for the row). The problem is that i want to access this matrix by a four digit indexing. Is there a way to do that?
3 件のコメント
Oleg Komarov
2011 年 7 月 21 日
What do you mean? You want to retrieve two points at the same time?
Nikolaos
2011 年 7 月 22 日
Jan
2011 年 7 月 22 日
There is an infinite number of possibilities to map "A(k,l,m,n)->p(i,j)". Please specify how {k,l,m,n} and {i,j} are connected.
採用された回答
その他の回答 (2 件)
Friedrich
2011 年 7 月 21 日
Hi,
I am not sure what you mean with 4digit indexing. Do you want a 4d matrix?
>> a = zeros(3,3,3,3);
>> a(1,2,1,3)
ans =
0
Or do you like to pass 2 pairs of indices?
a = [1 2; 3 4]
%try to access 1,1 and 1,2
ind = sub2ind(size(a),[1 1],[1 2])
a(ind)
ans =
1 2
Jan
2011 年 7 月 22 日
One example:
A = rand(3, 4, 5, 6);
p = reshape(A, 12, 30);
disp(A(2,3,4,5))
disp(p(8, 24))
Does this match your needs? Then SUB2IND and IND2SUB might help.
5 件のコメント
Nikolaos
2011 年 7 月 22 日
Andrei Bobrov
2011 年 7 月 22 日
pall=[1 2 3 4;5 6 7 8; 9 10 11 12; 13 14 15 16]
a = zeros(2,2,2,2)
a(:) = pall
Jan
2011 年 7 月 22 日
a = reshape(pall, 2,2,2,2);
Nikolaos
2011 年 7 月 22 日
Nikolaos
2011 年 10 月 5 日
カテゴリ
ヘルプ センター および File Exchange で Matrix Indexing についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!