# Can anyone help me figure out the preallocation of the unknown matrix which no. of rows changing in every cycle? Thank in advance

24 views (last 30 days)
Sk. Alam on 23 Feb 2021
Commented: Sk. Alam on 23 Feb 2021
close all; clc;
tic
p=dir('*.txt');
nFiles=numel(p);
A_cat=[]; % A_cat=zeros(500000,30);
for k=1:nFiles
disp(size(A_cat)); %% you can check the no. of rows is increasing
%A_cat=[A_cat;A]; %% every cycle, matrix changes its size!!!
A_cat=vertcat(A_cat,A);
end
toc

KSSV on 23 Feb 2021
Edited: KSSV on 23 Feb 2021
close all; clc;
tic
p=dir('*.txt');
nFiles=numel(p);
A_cat=cell(nFiles,1); % A_cat=zeros(500000,30);
for k=1:nFiles
disp(size(A_cat)); %% you can check the no. of rows is increasing
%A_cat=[A_cat;A]; %% every cycle, matrix changes its size!!!
A_cat{k} = A;
end
A = vertcat(A_cat{:}) ;
toc
Sk. Alam on 23 Feb 2021
do you think the other possibility to run the code faster?
tic;
P_avg=cell(1,30);
for j =1:30
P_dat = buffer(A(:,j),500); %% cut the 500 elements*1000 of a single sensor
P_m=mean(P_dat,2);
P_avg{j}=P_m;
end
mn_dat = horzcat(P_avg{:}) ;
toc;

### Community Treasure Hunt

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

Start Hunting!

Translated by