How to reshape each matrix of cell

17 views (last 30 days)
Kong
Kong on 4 Apr 2020
Commented: Kong on 4 Apr 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) ?

Accepted Answer

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

Sign in to comment.

More Answers (0)

Categories

Find more on Matrices and Arrays in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!