Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Matlab中像在光电感知器上一样在绘图上设置_Matlab_Plot_Perceptron - Fatal编程技术网

如何在Matlab中像在光电感知器上一样在绘图上设置

如何在Matlab中像在光电感知器上一样在绘图上设置,matlab,plot,perceptron,Matlab,Plot,Perceptron,我有一个问题,使设置和显示像在附件中的这张照片 其中: 点数必须在以下范围内随机: 设定的原则: 这是关于感知器的练习的第一部分。没有这个,我不能做其他的零件 这是我的代码: clc; close all; clear all; I=400; x1=-1+rand(I/2,1)+1; X = [0+rand(I,1)*(2*pi) [-1+rand(I/2,1)+1; (-1+rand(I/2,1)+1)] ] Y = [ones((I/2),1)*sin(-1); ones

我有一个问题,使设置和显示像在附件中的这张照片

其中:

点数必须在以下范围内随机:

设定的原则:

这是关于感知器的练习的第一部分。没有这个,我不能做其他的零件

这是我的代码:

clc;
close all;
clear all;

I=400;
x1=-1+rand(I/2,1)+1;
X = [0+rand(I,1)*(2*pi) [-1+rand(I/2,1)+1;
    (-1+rand(I/2,1)+1)] ]

Y = [ones((I/2),1)*sin(-1); ones(I/2,1)];


a = X(1:I/2,1);

b = X(1:I/2,2);

c = X(I/2:I,1);

d = X(I/2:I,2);

plot( a, b, 'bx');

hold on;

plot( c, d, 'go');

因此,您已经了解了如何在绘图区域内生成随机坐标:

N = 400;
x1 = rand(N,1)*(2*pi);
x2 = rand(N,1)*2-1;
接下来,您希望找到满足方程式的点的子集(这是
y==-1
)的集合:

I
是一个逻辑数组,在满足条件的情况下具有
true
值。您可以使用
I
索引到另一个数组中。例如,您可以创建向量
y
,如下所示:

y = ones(N,1);
y(I) = -1;
但是,创建绘图实际上不需要
y
。您已经绘制了两个子集,只需使用
I
作为索引,而不是
1:N/2
,创建子集即可:

plot(x1(I),x2(I),'bx');
hold on
plot(x1(~I),x2(~I),'go');

结果与问题中的绘图完全相同,只是使用了
x
o
标记,而不是
标记。

这似乎是绘制两组数据的正确方法。怎么了?你好,亚佐!问题是你想得到与图片中相似的分布吗?@HermanWilén是的。@CrisLuengo我刚刚修改了这个问题
plot(x1(I),x2(I),'bx');
hold on
plot(x1(~I),x2(~I),'go');