how to change this matrix in this manner?

2 次查看(过去 30 天)
how to manipulate this matrix without for loop:
A=[a1,b1,c1,d1.......;a2,b2,c2,d2..........;a3,b3,c3,d3.......;a4,b4,c4,d4....;..]
how to get this:
H=[a1,b1,a2,b2,a3,b3,......;c1,d1,c2,d2,c3,d3,........]
thank you

采纳的回答

Iain
Iain 2013-5-22
H = [reshape(reshape(A(:,1:2),[],2)',[],1);reshape(reshape(A(:,3:4),[],2)',[],1)];

更多回答(1 个)

David Sanchez
David Sanchez 2013-5-22
If you prefer an extended version:
A = rand(6); % example matrix
H = zeros(size(A,1)/2,size(A,1)*2); % initialize matrix
[n_rows n_cols] = size(A);
col = 1;
row = 1;
while col <= n_cols/2
while row <= n_rows
H(col,(2*row-1)) = A(row,(2*col-1));
H(col,(2*row)) = A(row,col*2);
row = row + 1;
end
col = col + 1;
row = 1;
end

类别

Help CenterFile Exchange 中查找有关 Logical 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by