Hello,

Le 28/12/2016 09:16, [email protected] a écrit :
Hi all

I do not understand why the following code does not work when I try to
use vectorization (many trials)?

What am I doing wrong ?

Thanks

Paul
################################################################

mode(0)

A = [ 1 2 9 0 10 6 ; 5 3 8 8 0 9 ; 5 9 1 0 3 9]'
v = [2 9 6]'

index = zeros(3,1);
for i = 1 : 3
    index(i) = find(A(:,1) == v(i));
end
disp(index)

i = [1 : 3]';
index2 = zeros(3,1); //pause
index2(i,1) = find(A(:,1) == v(i,1));

When with "==" you compare a matrix A to a scalar, the result is a matrix with the sizes of A, and find() works well (it just returns the indices of true components). When with "==" you compare a matrix A to another one B having the same sizes, then "==" works element-wise: the result is a matrix with the sizes of A, and find() still works well. When with "==" you compare a matrix A to another one B NOT having the same sizes, then "==" returns simply %F, and find(%F) returns []
https://help.scilab.org/docs/6.0.0/en_US/comparison.html

What you try to do is achieved with members().

Samuel

_______________________________________________
users mailing list
[email protected]
http://lists.scilab.org/mailman/listinfo/users

Reply via email to