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 vues (au cours des 30 derniers jours)
for eg-
i need this matrix to look like {1,9} {2,7} {3,8}.......
  3 commentaires

Connectez-vous pour commenter.

Réponse acceptée

Image Analyst
Image Analyst le 14 Sep 2018
Modifié(e) : Image Analyst le 14 Sep 2018
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

Plus de réponses (2)

Matt J
Matt J le 14 Sep 2018
Modifié(e) : Matt J le 14 Sep 2018
Acell=cellfun( @(c) c(:).', num2cell(A,3), 'uni',0 );

Image Analyst
Image Analyst le 14 Sep 2018
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

Catégories

En savoir plus sur Matrices and Arrays dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by