MATLAB Answers

Program to perform a reshape of an array

3 views (last 30 days)
Ronald Niwamanya
Ronald Niwamanya on 26 May 2021
Commented: Ronald Niwamanya on 27 May 2021
Greetings of the day
I have W and would like to obtain P as indicated below.
W=[1 1 1 1 0 1 1 1;0 1 1 1 1 1 0 1;1 0 1 0 1 1 0 1;1 1 0 0 1 1 0 1;1 1 0 0 1 1 0 0]
for k=1:5
M=reshape(W(k,:),4,2)
end
P=bi2de(M)
%Modify the above program and obtain a matrix that contains all values as
%follows:
P=[2 3 3 3;1 3 2 3;3 1 2 1;3 3 0 1;3 3 0 0];
Thank you so much.

Accepted Answer

Jan
Jan on 26 May 2021
Edited: Jan on 26 May 2021
W = [1 1 1 1 0 1 1 1; ...
0 1 1 1 1 1 0 1; ...
1 0 1 0 1 1 0 1; ...
1 1 0 0 1 1 0 1; ...
1 1 0 0 1 1 0 0];
M = fliplr(reshape(W, 20, 2));
P = reshape(bi2de(M), 5, 4)
P = 5×4
2 3 3 3 1 3 2 3 3 1 2 1 3 3 0 1 3 3 0 0

More Answers (1)

darova
darova on 26 May 2021
Use reshape without for loop
M = reshape(W',4,[]);
  1 Comment
Ronald Niwamanya
Ronald Niwamanya on 26 May 2021
Thank you but still it does not give the output.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!