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.

 採用された回答

Jan
Jan 2021 年 5 月 26 日
編集済み: Jan 2021 年 5 月 26 日

0 投票

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

1 件のコメント

Ronald Niwamanya
Ronald Niwamanya 2021 年 5 月 27 日
Thank you @Jan for the guidance.

サインインしてコメントする。

その他の回答 (1 件)

darova
darova 2021 年 5 月 26 日

0 投票

Use reshape without for loop
M = reshape(W',4,[]);

1 件のコメント

Ronald Niwamanya
Ronald Niwamanya 2021 年 5 月 26 日
Thank you but still it does not give the output.

サインインしてコメントする。

カテゴリ

ヘルプ センター および File Exchange で Multidimensional Arrays についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by