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?

 Réponse acceptée

Guillaume
Guillaume le 30 Août 2017
Modifié(e) : Guillaume le 30 Août 2017

1 vote

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 commentaires

Zhenteng Shen
Zhenteng Shen le 30 Août 2017
This gives the index but not the value I think
Guillaume
Guillaume le 30 Août 2017
As I wrote:
If you set the Show output port for nonzero input values to true, then you'll get the nonzeros values.

Connectez-vous pour commenter.

Plus de réponses (2)

KL
KL le 30 Août 2017
Modifié(e) : KL le 30 Août 2017

1 vote

nonzeros - EDITED
Use it in a Matlab function block?

5 commentaires

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

Connectez-vous pour commenter.

Omur Bas
Omur Bas le 31 Août 2017

0 votes

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

Catégories

En savoir plus sur General Applications dans Centre d'aide et File Exchange

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by