필터 지우기
필터 지우기

Calculate a value from a table column based on defined intervals give by another table

조회 수: 1 (최근 30일)
Hi,
I've got a table T with varius columns, 1'st is Time (it's not a timetable necessarly, in thsi specific case it's not, it's time in s but not as timetable).
I've got a 2'nd table T2 with 2 columns which in essence gives the time intervals (start and end lap times in this case, which will match the values in the previus table T as they are extrated from it).
What I'm trying to do is for each set of start/end time intervals in T2 calculate another column (for the given interval) in table T (max for example).
Thanks.

채택된 답변

Chunru
Chunru 2022년 6월 28일
load("table T");
load("table T2");
head(T)
ans = 8×2 table
Time AmbientTemp ____ ___________ 0 15 0.1 15 0.2 15 0.3 15 0.4 15 0.5 15 0.6 15 0.7 15
head(T2)
ans = 8×3 table
Start_time End_time Lap_time __________ ________ ________ 424.9 958.9 08:54 970.9 1491.9 08:41 1498.9 2010.9 08:32 2022.9 2535.9 08:33 3509.8 4020.8 08:31 4031.8 4544.8 08:33 4555.8 5066.8 08:31 5079.8 5592.8 08:33
n = size(T2, 1);
T2_max = zeros(n, 1);
for i=1:size(T2, 1)
T2_max(i) = max(T.AmbientTemp(T.Time>=T2.Start_time(i) & T.Time<T2.End_time(i)));
end
T2.max = T2_max;
T2
T2 = 10×4 table
Start_time End_time Lap_time max __________ ________ ________ _____ 424.9 958.9 08:54 14.25 970.9 1491.9 08:41 15 1498.9 2010.9 08:32 14.25 2022.9 2535.9 08:33 14.25 3509.8 4020.8 08:31 21 4031.8 4544.8 08:33 17.25 4555.8 5066.8 08:31 17.25 5079.8 5592.8 08:33 17.25 6234.8 6752.8 08:38 21.75 6764.8 7284.8 08:40 18

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Data Type Conversion에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by