Create a matrix with values in a specific position from another matrix
4 views (last 30 days)
Show older comments
stelios loizidis
on 20 May 2020
Commented: Ameer Hamza
on 21 May 2020
Hello, I have a matrix with hourly prices for a product. That, is 24 prices for one day. Also, these prices are for one month. I want to create another matrix that will have the following struxture: In first 24 places enter the prices of the first day (Monday-1/6). Then, in the next 24 places to enter the prices of the day after a week, ie those of Monday (7/6). Still, let the next prices come from in on Monday (14/6). The same should be done with the next days (Tuesday, Wednesday,......Sunday). How is this done?
Your help is important!!!!!
0 Comments
Accepted Answer
Ameer Hamza
on 20 May 2020
Edited: Ameer Hamza
on 20 May 2020
Try this
A = (1:720).'; % example values for 1 month
num_weeks = ceil(numel(A)/168); % 168 are hours per week
idx = repmat(repelem((1:7).', 24, 1), num_weeks, 1);
idx(numel(A)+1:end, :) = [];
split_data = splitapply(@(x) {x}, A, idx);
It creates a cell array with seven elements. Each element contains values for a particular day.
2 Comments
More Answers (0)
See Also
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!