Creating an array of maximum values from differents tables

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.

 채택된 답변

Star Strider
Star Strider 2025년 3월 19일
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

Yes, I have all the .csv in default path.
Thanks for the help.
As always, my pleasure!
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.
.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Tables에 대해 자세히 알아보기

제품

릴리스

R2023b

태그

질문:

2025년 3월 19일

댓글:

2025년 3월 19일

Community Treasure Hunt

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

Start Hunting!

Translated by