我有这个向量:
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循环来完成此操作,但我想对此操作进行矢量化.
您正在寻找的是功能 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)