急需一个用Matlab语言编写的程序例子
1个回答
展开全部
我最近也学了一点,主要是用于BP网络上面的编程,这里有个例子你先看看!
X
=
[0
1;
0
1];
clusters
=
5;
points
=
10;
std_dev
=
0.05;
P
=
nngenc(X,clusters,points,std_dev);
plot(P(1,:),P(2,:),'+r');
title('输入样本向量');
xlabel('p(1)');
ylabel('p(2)');
%建立网络
net=newc([0
1;0
1],5,0.1);
%得到网络权值,并在图上绘出
figure;
plot(P(1,:),P(2,:),'+r');
w=net.iw{1}
hold
on;
plot(w(:,1),w(:,2),'ob');
hold
off;
title('输入样本向量及初始权值');
xlabel('p(1)');
ylabel('p(2)');
figure;
plot(P(1,:),P(2,:),'+r');
hold
on;
%训练网络
net.trainParam.epochs=7;
net=init(net);
net=train(net,P);
%得到训练后的网络权值,并在图上绘出
w=net.iw{1}
plot(w(:,1),w(:,2),'ob');
hold
off;
title('输入样本向量及更新后的权值');
xlabel('p(1)');
ylabel('p(2)');
a=0;
p
=
[0.6
;0.8];
a=sim(net,p)
X
=
[0
1;
0
1];
clusters
=
5;
points
=
10;
std_dev
=
0.05;
P
=
nngenc(X,clusters,points,std_dev);
plot(P(1,:),P(2,:),'+r');
title('输入样本向量');
xlabel('p(1)');
ylabel('p(2)');
%建立网络
net=newc([0
1;0
1],5,0.1);
%得到网络权值,并在图上绘出
figure;
plot(P(1,:),P(2,:),'+r');
w=net.iw{1}
hold
on;
plot(w(:,1),w(:,2),'ob');
hold
off;
title('输入样本向量及初始权值');
xlabel('p(1)');
ylabel('p(2)');
figure;
plot(P(1,:),P(2,:),'+r');
hold
on;
%训练网络
net.trainParam.epochs=7;
net=init(net);
net=train(net,P);
%得到训练后的网络权值,并在图上绘出
w=net.iw{1}
plot(w(:,1),w(:,2),'ob');
hold
off;
title('输入样本向量及更新后的权值');
xlabel('p(1)');
ylabel('p(2)');
a=0;
p
=
[0.6
;0.8];
a=sim(net,p)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询