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
-
Find common elements in matrix rows
2713 Solvers
-
Find the maximum number of decimal places in a set of numbers
3376 Solvers
-
Output any real number that is neither positive nor negative
409 Solvers
-
836 Solvers
-
Sum of odd numbers in a matrix
615 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 -)