i have a 48*48*3 matrix , i want to convert it to 48*48 matrix where each element of the matrix will show a list of 3 characters in a cell. how to do it?

2 ビュー (過去 30 日間)
for eg-
i need this matrix to look like {1,9} {2,7} {3,8}.......
  3 件のコメント
Image Analyst
Image Analyst 2018 年 9 月 14 日
Is it a character array, or a numerical array?

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

採用された回答

Image Analyst
Image Analyst 2018 年 9 月 14 日
編集済み: Image Analyst 2018 年 9 月 14 日
For all the numbers, you can try this:
[rows, columns, numSlices] = size(m);
index = 1;
ca = cell(1, rows*columns); % Preallocate
for row = 1 : rows
for col = 1 : columns
ca{index} = m(row, col, :);
index = index + 1;
end
end

その他の回答 (2 件)

Matt J
Matt J 2018 年 9 月 14 日
編集済み: Matt J 2018 年 9 月 14 日
Acell=cellfun( @(c) c(:).', num2cell(A,3), 'uni',0 );

Image Analyst
Image Analyst 2018 年 9 月 14 日
Did you try something like this:
[rows, columns, numSlices] = size(m);
index = 1;
ca = cell(1, rows*columns); % Preallocate
for row = 1 : rows
for col = 1 : columns
ca{index} = [m(row, col, 1), m(row, col, end)];
index = index + 1;
end
end

カテゴリ

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