I would like to reorder vector as following:
a = [1 2 3 4 5 6 7 8 9 10 11 12]
to
r = [1 5 9 2 6 10 3 7 11 4 8 12]
what would be efficient way of doing so?

 채택된 답변

Walter Roberson
Walter Roberson 2015년 12월 3일

0 개 추천

reshape( reshape(a, 4, 3).', 1, [])

댓글 수: 3

or more generically
reshape(reshape(a, [], stride).', 1, [])
In that line, "stride" would have to mean the number of elements in each sub-group. I tend to instead think of stride in terms of the difference between adjacent indices, and for that you would use
reshape(reshape(a,stride,[]).' 1, [])
Guillaume
Guillaume 2015년 12월 3일
That is also what I meant, but... brain did not engage properly.

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

추가 답변 (0개)

카테고리

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

태그

질문:

2015년 12월 3일

댓글:

2015년 12월 3일

Community Treasure Hunt

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

Start Hunting!

Translated by