add each iteration of for loop to a table

2 visualizzazioni (ultimi 30 giorni)
Hi,
I have the following code;
f=dir('*.csv');
for i=1:length(f)
x=readtable(f(i).name)
y=[sum(x.LogicRate100),sum(x.LogicRate125),sum(x.LogicRate150),sum(x.LogicRate170),sum(x.LogicPower50),sum(x.LogicPower66),sum(x.LogicPower75),sum(x.LogicPower80)]
y=array2table(y)
writetable(y,['out' num2str(i) '.csv']);
end
It reads each file in the and sums the 8 collumns to produce a vairale (y).
I want the output to be a table or array that each row contains the output of each iteration. Currently, I am just saving each row.

Risposta accettata

KSSV
KSSV il 4 Ago 2021
Modificato: KSSV il 4 Ago 2021
f=dir('*.csv');
T = zeros(length(f),[]) ;
for i=1:length(f)
x=readtable(f(i).name)
y=[sum(x.LogicRate100),sum(x.LogicRate125),sum(x.LogicRate150),sum(x.LogicRate170),sum(x.LogicPower50),sum(x.LogicPower66),sum(x.LogicPower75),sum(x.LogicPower80)]
y=array2table(y)
T(i,:) = table2array(y) ;
end
writematrix(T,'test.csv')
  4 Commenti
Patrick Lonergan
Patrick Lonergan il 4 Ago 2021
Do you suggest just to use an array in the sum line?
Patrick Lonergan
Patrick Lonergan il 4 Ago 2021
I am not too sure what you mean

Accedi per commentare.

Più risposte (0)

Prodotti


Release

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by