Loop to edit cell values

2 vues (au cours des 30 derniers jours)
kathy
kathy le 26 Nov 2019
Commenté : Ridwan Alam le 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

Réponse acceptée

Ridwan Alam
Ridwan Alam le 26 Nov 2019
Modifié(e) : Ridwan Alam le 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 commentaires
kathy
kathy le 27 Nov 2019
Sweet! Thank you!
Ridwan Alam
Ridwan Alam le 28 Nov 2019
Sure. Glad it helped.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Loops and Conditional Statements dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by