Loop to edit cell values

2 views (last 30 days)
kathy
kathy on 26 Nov 2019
Commented: Ridwan Alam on 28 Nov 2019
Hello,
I have a 99312x2 table.
Column 1 has values in increments of 60 (i.e. 0,60,120,etc) representing hours/minutes. I need to change these to days, such that all cells in column 1 that have values of 0-1440 are changed to value 1, then the cells that have values of 1500-2880 are all changed to values of 2.
I was trying to think through a for-loop that would find the first pair of cells that have a difference of 1440 (number of minutes in a day) and change all the cells between those two cells (and including those two to 1), then loop back to find the next pair and change those cells to value of 2, and so on. But I'm not very good with loops.
Something along the lines of:
for i = 0:99312
%not sure how to set the x value
if x-i==1440
%all the cells between x and i are changed to 1 through about 1655
end
Goal:
ExampleOfNewCells.png

Accepted Answer

Ridwan Alam
Ridwan Alam on 26 Nov 2019
Edited: Ridwan Alam on 26 Nov 2019
Assuming your table is named 'myTable' with size 99312x2, you can get the new column from the first column directly by dividing the column and ceiling the decimal values.
newColumn = ceil(table2array(myTable(:,1))/1440);
  2 Comments
kathy
kathy on 27 Nov 2019
Sweet! Thank you!
Ridwan Alam
Ridwan Alam on 28 Nov 2019
Sure. Glad it helped.

Sign in to comment.

More Answers (0)

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!