Clear Filters
Clear Filters

subtracting consecutive elements from arrays

1 view (last 30 days)
I have 2 arrays. To generate e, I want to subtract d from Q. After the first 10 times, I want to cycle back through Q for the next 10 times.
The result should be: e = [9 14 22 21 11 9 3 4 -1 3 9 14 23 21 13 9 3 -1 -1];
num = [50 51 53 51 50 55 56 57 53 54 55 56 58 55 54 57 58 59 60 61];
Q = [10 15.8 19.5 19.5 15.8 10 4.1 0.5 0.5 4.1];
d = diff(num);
e = round(Q - d);

Accepted Answer

dpb
dpb on 20 Sep 2023
num = [50 51 53 51 50 55 56 57 53 54 55 56 58 55 54 57 58 59 60 61];
Q = [10 15.8 19.5 19.5 15.8 10 4.1 0.5 0.5 4.1];
d = [diff(num) nan];
e = round([Q Q] - d);
e=e(isfinite(e))
e = 1×19
9 14 22 21 11 9 3 5 -1 3 9 14 23 21 13 9 3 -1 -1
all(e==[9 14 22 21 11 9 3 4 -1 3 9 14 23 21 13 9 3 -1 -1])
ans = logical
0
I believe your posted answer is off by one in the 8th postion; should be 4, not 5...

More Answers (0)

Categories

Find more on Loops and Conditional Statements 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!