matlab练习程序(异或分类)

时间:2023-03-09 19:42:27
matlab练习程序(异或分类)
clear all;
close all;
clc; %生成两组已标记数据
randn('seed',);
mu1=[ ];
S1=[0.5 ;
0.5];
P1=mvnrnd(mu1,S1,); mu2=[ ];
S2=[0.5 ;
0.5];
P2=mvnrnd(mu2,S2,); mu3=[ ];
S3=[0.5 ;
0.5];
P3=mvnrnd(mu3,S3,); mu4=[ ];
S4=[0.5 ;
0.5];
P4=mvnrnd(mu4,S4,); P = [P1;P2;P3;P4]'; %设置标记
T1 = zeros(,);
T2 = ones(,); T11 = [T1;T1;T2;T2]';
T22 = [T1;T2;T2;T1]';
%T11 = [T1;T2;T1;T1]';
%T22 = [T1;T1;T1;T2]'; net1 = newp([ ; ],);
net1 = train(net1,P,T11); net2 = newp([ ; ],);
net2 = train(net2,P,T22); plotpv(P,[T1;T2;T1;T2]'); %画出数据
plotpc(net1.iw{,},net1.b{,}) %画出分类线
plotpc(net2.iw{},net2.b{}) %画出分类线 %生成测试数据
mu2=[ ];
S2=[ ;
];
Q=mvnrnd(mu2,S2,)';
Y1 = sim(net1,Q) ; %Y是利用感知器net对Q进行分类的结果
Y2 = sim(net2,Q);
Y = xor(Y1,Y2);
figure;
plotpv(Q,Y); %画出输入的结果表示的点
plotpc(net1.iw{},net1.b{}) %画出分类线
plotpc(net2.iw{},net2.b{}) %画出分类线

对已标记数据分类:

matlab练习程序(异或分类)

对测试数据分类:

matlab练习程序(异或分类)