MATLAB Answers

How to reshape each matrix of cell

16 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) ?

  0 Comments

Sign in to comment.

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)

Community Treasure Hunt

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

Start Hunting!