how to sort the vectors to positive n negative of same elements?
    3 次查看(过去 30 天)
  
       显示 更早的评论
    
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
0 个评论
采纳的回答
  Stephen23
      
      
 2017-3-7
        
      编辑:Stephen23
      
      
 2017-3-7
  
      >>  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 个评论
  Stephen23
      
      
 2017-3-7
				
      编辑:Stephen23
      
      
 2017-3-7
  
			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.
更多回答(0 个)
另请参阅
类别
				在 Help Center 和 File Exchange 中查找有关 Annotations 的更多信息
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!