ndgrid on matrices without the use of cell arrays

Hi guys,
I need your help in solving the following problem:
Given a dxn matrix, do the following (preferably without the use of cells):
n is always even and d is also even.
Thanks in advance.

댓글 수: 2

James Tursa
James Tursa 2015년 12월 23일
편집: James Tursa 2015년 12월 23일
What is the general pattern? E.g., are the rows always split into 1x2 blocks, or are the rows split in half? Is n always even? You need to give us more information.
jack
jack 2015년 12월 23일
편집: jack 2015년 12월 23일
I have updated the question.
The aim is very similar to the problem stated by the following link: http://www.mathworks.com/matlabcentral/answers/258365-ndgrid-on-cell-array-of-vectors
but i need your help in solving it for matrices.

댓글을 달려면 로그인하십시오.

답변 (1개)

Andrei Bobrov
Andrei Bobrov 2015년 12월 23일
편집: Andrei Bobrov 2015년 12월 23일
m = size(A,1); % A - your array
b = reshape(A,m,[],2);
[ii,jj] = ndgrid(1:m);
out2 = [b(jj(:),:,1),b(ii(:),:,2)]

댓글 수: 2

jack
jack 2015년 12월 24일
편집: jack 2015년 12월 24일
Your suggestion is good but it is not fully correct, to correct it change only b to :
b = reshape(A,m,[],size(A,2)/2);
and making the output of ndgrid a cell array.
jack
jack 2015년 12월 24일
but how can i do it without cell arrays? i need a code that works for every even n and d = 2!!

댓글을 달려면 로그인하십시오.

카테고리

도움말 센터File Exchange에서 Matrix Indexing에 대해 자세히 알아보기

질문:

2015년 12월 23일

댓글:

2015년 12월 24일

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by