You have a phenomenon that produces strictly positive or negative results.
delta = [1 -3 4 2 -1 6 -2 -7];
Marching through this list from beginning to end, mark a value with -1 if it is the greatest magnitude negative yet seen (strictly greater, not equal). Mark it with a one if it has the greatest magnitude in the positive direction (strictly greater, not equal). Just use a 0 if neither of these conditions have been met.
The result for the above example would be:
result = [1 -1 1 0 0 1 0 -1]
Solution Stats
Problem Comments
4 Comments
Solution Comments
Show comments
Loading...
Problem Recent Solvers689
Suggested Problems
-
"Low : High - Low : High - Turn around " -- Create a subindices vector
582 Solvers
-
Sum of first n terms of a harmonic progression
497 Solvers
-
11519 Solvers
-
636 Solvers
-
515 Solvers
More from this Author51
Problem Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
The phrasing might be a bit ambiguous, as magnitude swing could also be thought of as delta(i-1)-delta(i) instead of just delta(i). Nonetheless fun problem!
Nice question.
Nice problem
Agreed with first comment, it would be helpful to have more specificity with definition of magnitude "swing" ...perhaps the word "swing" is confusing because it implies some kind of reference point or change from one point to the next, when all that's being considered is the magnitude of each progressive value in comparison to previous max_magnitudes(+ and -)