How to reshape each matrix of cell

10 次查看(过去 30 天)
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) ?

采纳的回答

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

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Resizing and Reshaping Matrices 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by