Program to perform a reshape of an array

2 Ansichten (letzte 30 Tage)
Ronald Niwamanya
Ronald Niwamanya am 26 Mai 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.

Akzeptierte Antwort

Jan
Jan am 26 Mai 2021
Bearbeitet: Jan am 26 Mai 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

Weitere Antworten (1)

darova
darova am 26 Mai 2021
Use reshape without for loop
M = reshape(W',4,[]);

Kategorien

Mehr zu Matrices and Arrays finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by