How to add a matrix vertically and nest an if loop

조회 수: 1 (최근 30일)
WILLBES BANDA
WILLBES BANDA 2020년 3월 31일
댓글: WILLBES BANDA 2020년 3월 31일
Hi, i have a vector OxygenT = [0 5] and i want to add [0 5] to the next row so that i get 0 5
0 10
. .
. .
and i want it to continue until it equals the length of vector Oxygen below
Oxygen = 21.9599
22.6469
22.4288
19.0584
21.8578
24.4726
24.0144
19.7079
22.6187
24.2526
19.1982
23.0555
21.2375
19.7511
22.3351
20.9603
21.7795
19.3307
23.0599
Since i am dealing with time, how can i nest my loop such that when minutes(2nd column) reach 60 then 1 hour is added to column 1
Below is my code but when i run the code i only get 2 rows and it doesn`t add up until length of Oxygen. Please help
OxygenT = [0 5]
if length(OxygenT) <= length(Oxygen)
secondtime_interval = [OxygenT + OxygenT]
Oxygentime=[OxygenTime;secondtime_interval]
end

채택된 답변

Guillaume
Guillaume 2020년 3월 31일
Using a loop for this would be pointless and unnecessary complicated
Oxygenminute = (1:numel(Oxygen))' * 5;
Oxygenhour = floor(Oxygenminute/60);
Oxygenminute = mod(Oxygenminute, 60);
Oxygentime = [Oxygenhour, Oxygenminute]
An even better solution is to use a duration type instead of splitting the time over two columns:
Oxygentime = minutes(5) * (1:numel(Oxygen))';
Oxygentime.Format = 'hh:mm'
  댓글 수: 1
WILLBES BANDA
WILLBES BANDA 2020년 3월 31일
It works perfectly, thank you so so much honourable

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

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Logical에 대해 자세히 알아보기

태그

제품

Community Treasure Hunt

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

Start Hunting!

Translated by