Asked by Malik
on 24 Apr 2013

hello

if i have this matrix A =

10000 00010 10101 10011 10000 00001 the rows can be from 1 to 2.^m-2 where m lets say 5. so that gives us 30 rows. i want to flip these rows from bottom to top so that the last row is the first, the second last becomes the second, the third last the third.

flipped A =

00001 10000 10011 10101 00010 10000

then i want to pick the odd numbered rows from the flipped order (the first, third, fifth) such that 1:2:2t rows are picked out and displayed as shown below (here t = 3)

00001 10011 00010

can anyone help out with this?

regards

*No products are associated with this question.*

Answer by Andrei Bobrov
on 24 Apr 2013

Edited by Andrei Bobrov
on 24 Apr 2013

Accepted answer

A =[10000 00010 10101 10011 10000 00001];

A = num2str(A); b = strrep(A(:)',' ','0'); A(:) = b; % A is string

out1 = flipud(A); out2 = out1(1:2:end,:);

ADD after the Malik's comment

A = [ 1 1 0 0 0 0 1 0 1 0 0 1 1 0 1 0 0 1 1 0 1 1 1 1 1 0 1 0 0 1 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 0 1 0 0 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 0 0 1 0 1 1 0 1 0 0 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 0 0 1 0 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 0 1 1 1 1 0 0 1 0 1 1 1 1 1 0 1 1 0 0 1 0 1 1 0 0 1 0 1];

out1 = flipud(A); out2 = out1(1:2:end,:);

Show 3 older comments

Malik
on 24 Apr 2013

i have another question and since it is linked to this i find it convenient to post it right here, if i need to take the lcm of the binary rows that have come ut finally in out2 i am doing this:

converting each row to dec using num2str(bin2dec(out2(:))) (but doesnt work )

then applying lcm (out3)

% but the lcm function wont work for more than two numbers which is pretty challenging here, how to work through this?

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi test

Learn moreOpportunities for recent engineering grads.

Apply Today
## 1 Comment

## Jan Simon (view profile)

Direct link to this comment:http://www.mathworks.com/matlabcentral/answers/73349#comment_145224

What doe "matrix A = 10000 ..." exactly mean? Is this a CHAR matrix /then you forgot the quotes), or a double matrix (then the leading zeros are meaningless). It is not clear, what "the rows can be from 1 to 2.^m-2" means. Do you mean the size of the matrix or the decimal representatioon of the values of the elements or rows?