Creating an array of maximum values from differents tables
9 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I have 5 tables 2000x5 and want to create an array consisting of maximum values from the column 5 of all tables. This was my attempt:
for N_arq = [23 21 19 17];
s = readtable(strcat('r',num2str(N_arq),'.csv'),'Headerlines',1);
C5C = table2array(s(:,5));
AC = max(C5R(300:end))
end
But, this overwrite the last data on AC and don't create the desired array.
1 commentaire
Réponse acceptée
Star Strider
le 19 Mar 2025
Your current code creates the variable ‘CSC’ and then takes the maximum of selected rows of ‘C5R’. I changed that, although nothing else.
I assume all the .csv files are already available in your default path.
Try this —
N_arqv = [23 21 19 17];
for k = 1:numel(N_arqv)
N_arq = N_arqqv(k)
s = readtable(strcat('r',num2str(N_arq),'.csv'),'Headerlines',1);
C5C = table2array(s(:,5));
AC(k,:) = max(C5C(300:end))
end
Result = table(AC, VariableNames=["Col 5 Maximum"])
Make appropriate changes to get the desired result.
.
3 commentaires
Star Strider
le 19 Mar 2025
A tweak —
N_arqv = [23 21 19 17];
for k = 1:numel(N_arqv)
N_arq = N_arqqv(k)
rn{k} = sprintf('r%d',N_arq);
s = readtable(strcat('r',num2str(N_arq),'.csv'),'Headerlines',1);
C5C = table2array(s(:,5));
AC(k,:) = max(C5C(300:end))
end
Result = table(AC, VariableNames={'Col 5 Maximum'}, RowNames=rn)
This gives each file (without the .csv extensiion, although you can add that if you want) as its appropriate row name in the ‘Results’ table. I just now thought to include that.
.
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Tables dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!