365 day loop for 59 years
Show older comments
Hi there,
This is a beginner question, I'm very new to MATLAB.
I have 59 years worth of data in one column starting in October. There is 1 data point for every day in the year. I would like to create a loop which produces a graph for the data in every year for each of the 59 years.
Thanks,
SS.
4 Comments
Mathieu NOE
on 23 Feb 2021
hello
maybe you should share the data file to let us help you
Cris LaPierre
on 23 Feb 2021
Don't forget - every 4 years there are 366 days.
David Hill
on 23 Feb 2021
Show us the code you currently have.
S.S
on 23 Feb 2021
Answers (1)
Cris LaPierre
on 23 Feb 2021
Edited: Cris LaPierre
on 23 Feb 2021
Here's a rought outline.
startY = min(year(data.Var1));
endY = max(year(data.Var1));
for y = startY:endY
ind = year(data.Var1)==y;
plot(day(data.Var1(ind),'dayofyear'),data.Var2(ind))
hold on
end
hold off
3 Comments
Cris LaPierre
on 23 Feb 2021
Edited: Cris LaPierre
on 23 Feb 2021
This solution will work for your data. You just have to load your spreadsheet into MATLAB. I'd use readtable.
data = readtable("data .xlsx",'Sheet','Sheet2')
S.S
on 23 Feb 2021
Just combine the two. That's all you need. The readtable function will automatically handle the date for you. This was run in R2020b.
data = readtable("SSdata .xlsx",'Sheet','Sheet2') % I saved your file with this name
startY = min(year(data.Var1));
endY = max(year(data.Var1));
for y = startY:endY
ind = year(data.Var1)==y;
plot(day(data.Var1(ind),'dayofyear'),data.Var2(ind))
hold on
end
hold off
Categories
Find more on Tables 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!