Program to perform a reshape of an array

2 ビュー (過去 30 日間)
Ronald Niwamanya
Ronald Niwamanya 2021 年 5 月 26 日
コメント済み: Ronald Niwamanya 2021 年 5 月 27 日
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 日
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 日
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.

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

カテゴリ

Help Center および File ExchangeMatrices and Arrays についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by