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

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

>> 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

Hi Stephen, thanks for your help, but i need to plot only those numbers which are same(both positive and negative) as a positive point in x axis. like the points which got zero i need them to be plotted as a positive number on the x axis. Just the opposite of what the output you gave thanks
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 Creating, Deleting, and Querying Graphics Objects 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!