如何在Matlab上绘制一组照片,就像在照片上一样 - Perceptron

时间:2018-05-23 19:41:29

标签: matlab plot perceptron

我有一个问题,就是在附件中制作一张相同的照片。

photo

其中:

enter image description here

点数必须是随机的:

photo3

设定原则:

photo2

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

有我的代码:

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');

1 个答案:

答案 0 :(得分:0)

所以你已经想出了如何在图的区域内生成随机坐标:

94494 potential unreachable blocks were detected.

接下来,您要查找满足等式的点子集(这是N = 400; x1 = rand(N,1)*(2*pi); x2 = rand(N,1)*2-1; )的集合:

y==-1

I = abs(sin(x1)) > abs(x2); 是一个逻辑数组,其中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标记。