Create a matrix with values in a specific position from another matrix

6 visualizzazioni (ultimi 30 giorni)
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!!!!!

Risposta accettata

Ameer Hamza
Ameer Hamza il 20 Mag 2020
Modificato: Ameer Hamza il 20 Mag 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.

Più risposte (0)

Categorie

Scopri di più su Tables in Help Center e File Exchange

Tag

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by