How to continue loops with few if statement between them

1 visualización (últimos 30 días)
Iam Zain
Iam Zain el 14 de Jul. de 2022
Editada: Jan el 14 de Jul. de 2022
One thing that I want to do is after first if I want to continue to sum arrival in period between 100 and 200 and so on but I don't know how to do that I want only to sum the values in that period first if is ok but I don't know how to continue:
arrival=xlsread('tripinfo.xlsx','G:G');
depart_time=xlsread('tripinfo.xlsx','B:B');
for i = 1:1:91
if depart_time(i) < 100
mean_travel1 = sum(arrival(1:i,1));
elseif 100 < depart_time(i) & depart_time(i)< 200
mean_travel2 = sum(arrival(i,1));
elseif 200 < depart_time(i) & depart_time(i) < 300
mean_travel3 = sum(arrival(i,1));
elseif 300 < depart_time(i) & depart_time(i) < 400
mean_travel4 = sum(arrival(i,1));
elseif 400 < depart_time(i) & depart_time(i) < 500
mean_travel5 = sum(arrival(i,1));
else
mean_travel6 = sum(arrival(i,1));
end
end

Respuestas (1)

Jan
Jan el 14 de Jul. de 2022
Editada: Jan el 14 de Jul. de 2022
This is nicer without a loop:
mean_travel1 = sum(arrival(depart_time < 100,1));
mean_travel2 = sum(arrival(100 < depart_time & depart_time < 200, 1));
... etc.
By the way, why is depart_time == 100 excluded?
If 100 etc. can be included:
G = discretize(depart_time, [-inf, 100, 200, 300, 400, 500, inf]);
S = splitapply(@sum, arrival, G);
Or with a loop:
mean_travel = zeros(1, 6); % Better than hiding an index in the name!
for i = 1:1:91
if depart_time(i) < 100
mean_travel(1) = mean_travel(1) + arrival(i,1);
elseif 100 < depart_time(i) & depart_time(i)< 200
mean_travel(2) = mean_travel(2) + arrival(i,1);
elseif 200 < depart_time(i) & depart_time(i) < 300
mean_travel(3) = mean_travel(3) + arrival(i,1);
elseif 300 < depart_time(i) & depart_time(i) < 400
mean_travel(4) = mean_travel(4) + arrival(i,1);
elseif 400 < depart_time(i) & depart_time(i) < 500
mean_travel(5) = mean_travel(5) + arrival(i,1);
else
mean_travel(6) = mean_travel(6) + arrival(i,1);
end
end

Categorías

Más información sobre Loops and Conditional Statements en Help Center y File Exchange.

Etiquetas

Productos


Versión

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by