⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 s6_2_q1.m

📁 Duda《模式分类》第二版第1、3、5章部分课后习题和上机题的解答和程序代码
💻 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 + -