Extract non zero term from Vector

Hello, I have a 1 x 9 vector which contains all zeroes apart from one element which will take a +ve or -ve number, it's index will change, how do i extract this non zero number in Simulink? Is there a block for it?

 Accepted Answer

Guillaume
Guillaume on 30 Aug 2017
Edited: Guillaume on 30 Aug 2017
A quick search for "simulink nonzeros" returns as its first link this find block. If you set the Show output port for nonzero input values to true, then you'll get the nonzeros values.

2 Comments

This gives the index but not the value I think
As I wrote:
If you set the Show output port for nonzero input values to true, then you'll get the nonzeros values.

Sign in to comment.

More Answers (2)

KL
KL on 30 Aug 2017
Edited: KL on 30 Aug 2017
nonzeros - EDITED
Use it in a Matlab function block?

5 Comments

The correct matlab function to get the non zero values is nonzeros. nnz just return how many non-zeros elements there are.
So fast. Just about when it hit me and came back here to edit :D
I really want to do it on Simulink, and I actually want the value of the non zero number. Thanks
No I mean, I want to use it with only simulink library components

Sign in to comment.

Omur Bas
Omur Bas on 31 Aug 2017
If all the other elements are zero, and you don't need the index, then Sum of Elements block would do the trick.

Categories

Find more on General Applications in Help Center and File Exchange

Products

Asked:

on 30 Aug 2017

Answered:

on 31 Aug 2017

Community Treasure Hunt

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

Start Hunting!