creating vector arrays from data set
Ältere Kommentare anzeigen
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 Kommentare
Jan
am 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
am 13 Jan. 2018
Chet Sharma
am 13 Jan. 2018
Chet Sharma
am 13 Jan. 2018
Chet Sharma
am 13 Jan. 2018
Antworten (2)
Ahmos Sansom
am 13 Jan. 2018
0 Stimmen
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 Kommentar
Chet Sharma
am 13 Jan. 2018
Bearbeitet: Stephen23
am 14 Jan. 2018
Chet Sharma
am 14 Jan. 2018
Bearbeitet: Chet Sharma
am 14 Jan. 2018
Kategorien
Mehr zu Shifting and Sorting Matrices finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
