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

조회 수: 4 (최근 30일)
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!!!!!

채택된 답변

Ameer Hamza
Ameer Hamza 2020년 5월 20일
편집: Ameer Hamza 2020년 5월 20일
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.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 MRI에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by