how to sort the vectors to positive n negative of same elements?

1 view (last 30 days)
Hi All, say i have a vector v = [1,-2,3,4,5,6,7,8,9,77,44,88,99,-1,95,-6,-7,-8,-9] now i want to check element by element if there is a same element with opposite sign(1, -1) in the array and plot it as zero in their respective points in the x axis. Please note: i do not need to store the values in the variable and just need to plot it. How can i implement that?
thanks

Accepted Answer

Stephen23
Stephen23 on 7 Mar 2017
Edited: Stephen23 on 7 Mar 2017
>> v = [1,-2,3,4,5,6,7,8,9,77,44,88,99,-1,95,-6,-7,-8,-9]
v =
1 -2 3 4 5 6 7 8 9 77 44 88 99 -1 95 -6 -7 -8 -9
>> out = v .* ~ismember(v,-v)
out =
0 -2 3 4 5 0 0 0 0 77 44 88 99 0 95 0 0 0 0
>> plot(out)
  3 Comments
Stephen23
Stephen23 on 7 Mar 2017
Edited: Stephen23 on 7 Mar 2017
Then do the opposite:
out = v .* ismember(v,-v)
If neither of these resolve your question then please explain exactly what you want together with example input and output data. Your original question states "..if there is a same element with opposite sign(1, -1) in the array and plot it as zero..", and that is exactly what my answer gives you: values which are both positive and negative in the vector are plotted as zero.

Sign in to comment.

More Answers (0)

Categories

Find more on 2-D and 3-D Plots in Help Center and File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!