Borrar filtros
Borrar filtros

What is the function of find()

1 visualización (últimos 30 días)
feit feit
feit feit el 1 de Dic. de 2020
Comentada: feit feit el 1 de Dic. de 2020
Can anyone help me understanding the below code?
n_actions = find(reward(cs,:)>0);
Where 'reward' is a matrix. For example,
reward = [1 2 3; 3 4 5; 5 6 7]; cs = 1;
Thank you

Respuesta aceptada

Ameer Hamza
Ameer Hamza el 1 de Dic. de 2020
Editada: Ameer Hamza el 1 de Dic. de 2020
reward = [1 2 3; 3 4 5; 5 6 7]; cs = 1;
Check the output of your code one part at a time
>> reward(cs,:)
ans =
1 2 3
The above line output cs=1 row of matrix reward. Next we use compairson operator
>> reward(cs,:)>0
ans =
1×3 logical array
1 1 1
This line find which elements are greater than 0. As you can see, all of them are above zero so we get [1 1 1]. Next
>> find(reward(cs,:)>0)
ans =
1 2 3
The find() function return the index of all elements that are non-zero.
For example,
>> find([1 2 0 1 0])
ans =
1 2 4
It shows that element number 1, 2, and 4 are non-zero.
  3 comentarios
Ameer Hamza
Ameer Hamza el 1 de Dic. de 2020
Thanks Image Analyst :)
feit feit
feit feit el 1 de Dic. de 2020
Many thanks, Hamza!

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Sparse Matrices en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by