Subtract a different number from every group n of values in a table

1 view (last 30 days)
Stormi Noll
Stormi Noll on 12 Mar 2021
Commented: ANKUR KUMAR on 15 Mar 2021
I am trying to find the perturbations in my data based on a 30 minute time average for 24 hour data.
My original data has 1728000 rows, divided by 48 is 36000. So each of the 36000 entries need to subtract value 1 from the other table, the next 36000 entries will subtract value 2. I have tried for loops and I can't get anything to work past the 36000 entries.
I need something to perform the following:
big_table.uprime(1:36000) = big_table.B_Ux_2(1:36000) - thirtymin.u30(1);
big_table.uprime(36001:72000) = big_table.B_Ux_2(36001:72000) - thirtymin.u30(2);
and so on

Answers (1)

ANKUR KUMAR
ANKUR KUMAR on 12 Mar 2021
You can use reshape to perform operations:
data=randi(20,1,1728000);
B=reshape(data,36000,[]);
B=B-ones(size(B,1),size(B,2)).*[1:size(B,2)];
data_new=reshape(B,size(data,1),[]);
  4 Comments

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!

Translated by