How to reshape each matrix of cell

8 vues (au cours des 30 derniers jours)
Kong
Kong le 4 Avr 2020
Commenté : Kong le 4 Avr 2020
Hello.
I want to reshape each matrix of cell.
Using this code, I got the cell matrix. How can I reshape the matrix (1325 x180) to (25 x 9540)?
clear all
close all
% Create the list of csv files
s = dir('*.csv');
% Read from each csv file
c = cell(numel(s),1 );
for kk = 1:numel(s )
filePath = fullfile(s(kk).folder,s(kk).name );
x = csvread(filePath );
c{kk} = x;
end
% Find the minumul number of row and column
row = cellfun(@(x) size(x,1),c );
col = cellfun(@(x) size(x,2),c );
minRow = min(row );
minCol = min(col);
% Adjust the size of each array to minRow-by-minCol
c = cellfun(@(x) x(1:minRow,1:minCol),c,'UniformOutput',false);
% How to reshape (1325 x180) to (25 x 9540) ?

Réponse acceptée

David Hill
David Hill le 4 Avr 2020
for k=1:length(c)
c{k}=reshape(c{k},25,9540);
end
  1 commentaire
Kong
Kong le 4 Avr 2020
Thank you so much!.
After reshaping the matrix, How can I flatten the each matrix?
It's not working.
c = reshape(c,1,[])

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

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

Community Treasure Hunt

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

Start Hunting!

Translated by