Clear Filters
Clear Filters

Repeating array row n times with change of indexes

2 views (last 30 days)
Hello everyone,
I have matrix of 1 minute data of the household load (5760x2, where 1st column reflects minutes and second the load). I need to transform data into seconds, where every row will be repeated 60 times with the change of indexes.
Ex.
1min x1 1 x1
2min x2 -----------------> 2 x1
... .....
5760min x5760 60 x1
61 x2
...
120 x2 etc.
I tried many different options and now I think it's involved in multiplying the matrices, but I can't solve this properly.
Can somebody help me? Thanks!

Accepted Answer

Shubh Sahu
Shubh Sahu on 18 Sep 2019
Hello Jonna,
Let us suppose, the household data is in ‘a’, to repeat the number of rows repelem function is used:
u(:,2) = repelem(a(:,2),[60]);
u(:,1)=1:(5760*60);
for more information regarding repelem refer the following link:
  3 Comments
Shubh Sahu
Shubh Sahu on 19 Sep 2019
Have a look on this, may it explains
clc;
clear all;
close all;
a=[1,5;2,7;3,8];% take a 3*2 matrix
u(:,2) = repelem(a(:,2),[60]);
u(:,1)=1:(size(a,1)*60);

Sign in to comment.

More Answers (1)

Joanna Widzinska
Joanna Widzinska on 24 Sep 2019
It worked! Thank you very much :)

Categories

Find more on Matrices and Arrays 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!