我正在尝试根据多个搜索条件返回逻辑向量。我认为这很简单,而且可能确实如此。
所以我只想尝试一个非常简单的例子。我有一个10 x 1的double类型的矢量,叫做myVec。如果myVec中的元素等于5或8,我希望返回1,否则返回0。
myVec
5
3
8
9
1
8
5
6
7
5
我的结果矢量应该如下所示
Result
1
0
1
0
0
1
1
0
0
1
我尝试了以下内容,
rl = find(myVec == 8 | myVec == 5);
rl = myVec == 8 | myVec == 5;
两次尝试都会给出消息,
错误:等号左侧的表达式不是作业的有效目标。
更新
这是我正在玩的实际矢量,
myVec = [3 5 12 34 62 98 45 12 12 64 20 5 5 94 87 21 20]';
以下是我尝试使用的代码行,它会抛出错误但看起来应该可以正常工作,
rl = myVec == 12 | myVec == 5 | myVec = 20;
答案 0 :(得分:2)
这应该可以解决问题:
myvec = 1:10;
vec = (myvec == 5 | myvec == 8)
vec =
0 0 0 0 1 0 0 1 0 0
这也没有括号,所以还有其他错误。 find
版本给出了元素的索引,也没有错误。实际上,我发现无法重现您的错误消息。