365 day loop for 59 years
Mostrar comentarios más antiguos
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 comentarios
Mathieu NOE
el 23 de Feb. de 2021
hello
maybe you should share the data file to let us help you
Cris LaPierre
el 23 de Feb. de 2021
Don't forget - every 4 years there are 366 days.
David Hill
el 23 de Feb. de 2021
Show us the code you currently have.
S.S
el 23 de Feb. de 2021
Respuestas (1)
Cris LaPierre
el 23 de Feb. de 2021
Editada: Cris LaPierre
el 23 de Feb. de 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 comentarios
Cris LaPierre
el 23 de Feb. de 2021
Editada: Cris LaPierre
el 23 de Feb. de 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
el 23 de Feb. de 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
Categorías
Más información sobre Tables en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
