八度:比较两个向量

hqt*_*hqt 3 octave

我有这个向量:

t = 1: 10 % t = 1 2 3 ..10

A= [3 4 5] % a column vector 
Run Code Online (Sandbox Code Playgroud)

如果我输入:

(3 == t)
Run Code Online (Sandbox Code Playgroud)

我得到了结果:

0 0 1 0 0 0 0 0 0 0 % it means: 1 at location equals, and 0 at others
Run Code Online (Sandbox Code Playgroud)

我想为vector a执行此操作,这意味着它将采用向量A中的每个元素并比较并返回另一个向量.所以在这种情况下,结果将是3×10矩阵.

但是这一行会导致错误:A==t.

当然,我可以通过使用for循环来完成此操作,但我想对此操作进行矢量化.

car*_*aug 8

您正在寻找的是功能 ismember

octave> t = 1:10
t =
    1    2    3    4    5    6    7    8    9   10

octave> A = ismember (t, [2 3 4])
A =
   0   1   1   1   0   0   0   0   0   0
Run Code Online (Sandbox Code Playgroud)