How to detect sequence signal explicitly
    4 views (last 30 days)
  
       Show older comments
    
hi all
let say i have vector signal V (1x5): V=[2 4 1 7 9]
how we can get in which position is our signal:
for example, by V, then 4 is signal number 2 or 9 is signal number 5. how we can get like that in simulink???
thanks
0 Comments
Accepted Answer
  Doug Eastman
    
      
 on 13 Jul 2011
        If you are using R2010a or later you can use the Relational Operator block in Logic and Bit Operations to compare the vector V and the signal S using the == operator, then send that output to the Find Nonzero Elements block in Math Operations.
2 Comments
  Doug Eastman
    
      
 on 13 Jul 2011
				From what I understand you want a system with two inputs and one output. One input is a vector (V), say [2 4 17 7 9], the other is a signal (S), say 7. You want the output to be the position of S in V, in this case 4. Is that right?
If so, that's exactly what I'm describing above. The relational operator will output a vector [0 0 0 1 0] where S==V, then the find block will output the index of that location, in this case 4. Make sense?
More Answers (1)
  Luhur
 on 14 Jul 2011
        2 Comments
  Doug Eastman
    
      
 on 14 Jul 2011
				Yes one of the limitations of this block is that it will need to be run with a discrete sample time. Is that acceptable? If so, you can enter the sample time in the block (i.e. enter 0.01 if you want the block to run 100 times a second).
See Also
Categories
				Find more on Sources in Help Center and File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
