matlab练习程序(单层感知器)

本文详细介绍使用MATLAB实现感知器分类的过程,包括生成并标记数据集,设置感知器参数,进行模型训练,绘制分类线,以及对测试数据进行分类预测。通过具体代码示例,展示了如何利用MATLAB进行数据分类任务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

clear all;
close all;
clc;

%生成两组已标记数据
randn('seed',0);
mu1=[0 0 0];
S1=[0.3 0 0;
    0 0.35 0;
    0 0 0.4];  
P1=mvnrnd(mu1,S1,100);

mu2=[4 4 4];
S2=[1.2 0 0;
    0 1.85 0;
    0 0 1.9];
P2=mvnrnd(mu2,S2,100);
P = [P1;P2]';

%设置标记
T1 = zeros(100,1);
T2 = ones(100,1);
T = [T1;T2]';

net=newp([1 1;1 1;1 1],1);      %生成感知器,net是返回参数
net.trainParam.epochs=10;       %设置训练次数最大是10
net=train(net,P,T);             %利用训练集对感知器进行训练

plotpv(P,T);                    %画出数据
plotpc(net.iw{1},net.b{1})      %画出分类线

%生成测试数据
mu2=[2 2 2];
S2=[1.2 0 0;
    0 1.85 0;
    0 0 1.9];
Q=mvnrnd(mu2,S2,100)';
Y=sim(net,Q) ;                  %Y是利用感知器net对Q进行分类的结果
figure;
plotpv(Q,Y);                    %画出输入的结果表示的点
plotpc(net.iw{1},net.b{1})      %画出分类线

对已标记数据分类:

对测试数据分类:

转载于:https://www.cnblogs.com/tiandsp/p/7856423.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值