pos = find(y==1);neg = find(y==0);plot(X(pos, 1), X(pos, 2), "k+", "LineWidth", 2, 'MarkerSize', 7);plot(X(neg, 1), X(neg, 2), "ko", "MarkerFaceColor", 'y', 'MarkerSize', 7);
我理解find函数会返回y==1和y==0的数据索引。但我不确定在下面的函数中X(pos,1)和X(pos,2)的作用。能有人解释一下这个plot函数是如何工作的吗?
回答:
pos
和neg
是满足条件y==1
(分别是y==0)的索引向量。y
似乎是一个长度为n的向量,X
似乎是一个nx2的矩阵。X(pos,1)
是X
的第一列中满足条件y==1
的所有元素的行。
y = [ 2 3 1 4 0 1 2 6 0 4]X = [55 19;54 96;19 85;74 81;94 34;82 80;79 92;57 36;70 81;69 4]X(find(y==1), 1)
这将得到
ans = 19 82
请注意,这里不需要使用find,
X(y==1, 1)
就足够了