creating vector arrays from data set
Afficher commentaires plus anciens
Hi I have an hourly data set of electric load by day. E.g. for each day of Jan'00; I have 24 hours of electric load.I would like to create 31 separate vectors of length 24 (for each hour of the day) to hold the demand data for each day.
Here's my attempt:
numRows = length(dataset);
j=1
for i= 1:16:numRows
[day.j]=ds2.Demand(i:i+16,1);
j=j+1
end
I'm not sure how to create the right index for the d's. It should look like; d1 = (Hour1, Hour2...Hour 24), first day of data d2 = (Hour1, Hour2, ....Hour 24) of the second day of data
and so on and so forth...
Any suggestions on how to go? Thanks! C
5 commentaires
Jan
le 12 Jan 2018
It depends on how your "data set" is represented. An Excel file? A vector? A table object? Maybe a simple reshape is the solution already. Remember not to create 31 separate variables, but use a matrix instead. See https://www.mathworks.com/matlabcentral/answers/304528-tutorial-why-variables-should-not-be-named-dynamically-eval and https://www.mathworks.com/matlabcentral/answers/57445-faq-how-can-i-create-variables-a1-a2-a10-in-a-loop
Chet Sharma
le 13 Jan 2018
Chet Sharma
le 13 Jan 2018
Chet Sharma
le 13 Jan 2018
Chet Sharma
le 13 Jan 2018
Réponses (2)
Ahmos Sansom
le 13 Jan 2018
0 votes
Hey,
Maybe convert column 2 to matlab datetime t = datetime(X,'ConvertFrom','Excel')
Then you cold select the data where weekday = 6 or Hour = 21 etc.
find(weekday(t) ==6)
This will give the index and then you can plot the respective values.
1 commentaire
Chet Sharma
le 13 Jan 2018
Modifié(e) : Stephen23
le 14 Jan 2018
Chet Sharma
le 14 Jan 2018
Modifié(e) : Chet Sharma
le 14 Jan 2018
Catégories
En savoir plus sur Shifting and Sorting Matrices dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
