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 Solvers690
Suggested Problems
-
Project Euler: Problem 9, Pythagorean numbers
1385 Solvers
-
Back to basics 13 - Input variables
383 Solvers
-
Magic is simple (for beginners)
11166 Solvers
-
MATCH THE STRINGS (2 CHAR) very easy
301 Solvers
-
843 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 -)