MATLAB Answers

0

Adding two arrays of different sizes together evenly without messing cumulative sum.

Asked by Shahab Khan on 24 Oct 2019
Latest activity Edited by Shahab Khan on 24 Oct 2019
I have 2 arrays.
A = [0 1 2 3 4 5 6 . . . . n] % Size 2402 x 1, assume in this case n number is 58
B = [18] % Size 1x1
C = [Cumulative output of A+B] % expected result starting from 0 and ending at 76 @ size of 2402 *1
Now
A is a cummulative sum of energy consumed starting from 0 and ending at 58 kWh during 2402 seconds.
B is total auxiliary energy consumed during 2402 seconds. Please note B is not a cumulative energy. Its just a number in 1 x 1 array.
What I am trying to do is to add B to A evenly such that the result C can be a cumulative result starting from 0 and ending at 76.
I tried a lot of logics but nothing worked for me.
Kindly guide me in correct direction to acheive this result.

  0 Comments

Sign in to comment.

Products


Release

R2019a

2 Answers

Answer by Akira Agata
on 24 Oct 2019
 Accepted Answer

Based on the question, C should be a cumulative result starting from 0. So, it should be:
C = A + linspace(0,B,length(A));

  2 Comments

Hi, Thanks its works. However, the C array is in the form of 2402 x 2402. I actually need it in the form of 2402 x 1 or 1 x 2402.
Ok I managed to do it myself in this maner.
First I tried to understand linespace function. When I understood how it works. I write this code to acheive the above goal.
A = [0 1 2 3 4 . . . . n]; % Size 2402 x 1
B = [18];
D = linspace(0,B,length(A));
E = D';
C = A + E; % Size 2402 x 1
Thanks for the help.

Sign in to comment.


Answer by Walter Roberson
on 24 Oct 2019
Edited by Walter Roberson
on 24 Oct 2019

C = cumsum(A + B / length(A));

  0 Comments

Sign in to comment.