📄 s6_2_q1.m
字号:
function S6_2_Q1
close all;clc;
% 首先按照‘从左到右,从下到上’的次序
% 依次将决策区域每个点的坐标输入到坐标序列 x 中
x1=-5:0.2:5;
x2=x1;
lx=length(x1);
i=1:lx*lx;
ir=mod(i,lx); ir(find(ir==0))=lx;
ic=ceil(i/lx);
x=[x1(ir);x2(ic)];
% 设定输入层至隐层的权值矩阵win,和隐层至输出层的权值矩阵wno
win=[0.5 -0.5;0.3 -0.4;-0.1 1.0];
wno=[1;-2;0.5];
win2=[-1 1;-0.5 1.5;1.5 -0.5];
wno2=[0.5;-1;1];
for r=1:2
if r==2
win=win2;
wno=wno2;
end
subplot(1,2,r);
% 函数ffn为题目所设的2*2*1前馈网络
y=ffn(x,win,wno);
% 若 y 为 1 或 0,则对应的点属于第1类;否则为第2类
class=sign(y);
c1=x(:,find(class~=-1));
c2=x(:,find(class==-1));
plot(c1(1,:),c1(2,:),'r*');hold on;
plot(c2(1,:),c2(2,:),'b*');hold off;
title('red - Class 1; blue - Class 2');
xlabel('x1');ylabel('x2');
axis square;
end
function y=ffn(x,win,wno)
[r,c]=size(x);
xi=[ones(1,c);x];
net_in=win'*xi;
xn=Sfun(net_in);
xn=[ones(1,c);xn];
net_no=wno'*xn;
y=Sfun(net_no);
function out=Sfun(net)
a=1.716;
b=2/3;
out=a*tanh(b*net);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -