Increment dates using for loop
Mostra commenti meno recenti
I'm trying to fill a variable sized datetime array. I then want the declared datetime value to fill the first 3 elements before incrementing by one to fill the next three.This process repeats until the desired sized element is reach. See current output & desired output.
Code:
samples = input("Number of Samples to Generate: ");
DateBuilt = repmat(datetime(0,0,0),samples,1);
t = datetime(2018,1,1);
DateBuilt(1) = t
for i=1:samples
if i <= 3
DateBuilt(i) = t;
else
t = t + 1;
DateBuilt(i) = t;
end
Current Output:
Number of Samples to Generate: 14
DateBuilt =
14×1 datetime array
01-Jan-2018
30-Nov--0001
30-Nov--0001
30-Nov--0001
30-Nov--0001
30-Nov--0001
30-Nov--0001
30-Nov--0001
30-Nov--0001
30-Nov--0001
30-Nov--0001
30-Nov--0001
30-Nov--0001
30-Nov--0001
Desired Output:
Number of Samples to Generate: 14
DateBuilt =
14×1 datetime array
01-Jan-2018
01-Jan-2018
01-Jan-2018
02-Jan-2018
02-Jan-2018
02-Jan-2018
03-Jan-2018
03-Jan-2018
03-Jan-2018
04-Jan-2018
04-Jan-2018
04-Jan-2018
05-Jan-2018
05-Jan-2018
5 Commenti
madhan ravi
il 9 Feb 2019
Modificato: madhan ravi
il 9 Feb 2019
Please explicitly state your desired output , so there is no guessing.
madhan ravi
il 9 Feb 2019
Editing a question after someone has answered is not encouraged in this forum , it makes the answer pointless!
CM
il 9 Feb 2019
madhan ravi
il 9 Feb 2019
Modificato: madhan ravi
il 9 Feb 2019
Why in your desired output the last date has only repeated twice , any reason for it?
CM
il 9 Feb 2019
Risposta accettata
Più risposte (1)
Stephen23
il 9 Feb 2019
0 voti
>> D = datetime('01-Jan-2018');
>> N = 14;
>> G = 3;
>> V = D + caldays(0:ceil(N/G)-1).';
>> V = repelem(V,G);
>> V = V(1:N)
V =
01-Jan-2018
01-Jan-2018
01-Jan-2018
02-Jan-2018
02-Jan-2018
02-Jan-2018
03-Jan-2018
03-Jan-2018
03-Jan-2018
04-Jan-2018
04-Jan-2018
04-Jan-2018
05-Jan-2018
05-Jan-2018
Categorie
Scopri di più su Loops and Conditional Statements in Centro assistenza e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!