필터 지우기
필터 지우기

Re-arranging array columns in alternating form

조회 수: 1 (최근 30일)
Saeid
Saeid 2018년 12월 18일
댓글: Saeid 2018년 12월 18일
I would like to write a function:
function [Y]=AlternateColumns(X,n)
that takes an array X of the form:
AlterBefore.png
and turns it into Y of the form:
AlterAfter.png
In this example n=3, but it could be any number by which the entire number of columns is divisible. How is this possible without using a loop?

채택된 답변

Guillaume
Guillaume 2018년 12월 18일
편집: Guillaume 2018년 12월 18일
function Y = AlternateColumns(X, n)
Y = reshape(permute(reshape(X, size(X, 1), [], n), [1 3 2]), size(X, 1), []);
end
Basically, reshape into a 3D array, swap dimensions 2 and 3 and reshape back into original shape.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Matrices and Arrays에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by