网络训练与生成:
clear all;
%生成训练数据和目标值
p=[0 0; 1 0; 0 1; 1 1]'; %神经网络程序 默认一列表示一个训练样本的数据
t=[1 0; 0 1; 0 1; 1 0]';
'训练BP网络开始...'
%创建BP网络
net = newff(minmax(p),[5 2],{'logsig' 'logsig'},'traingda');
%初始化BP网络,包括:权值和偏置的初值
net = init(net);
%设置训练参数和训练BP网络
net.trainParam.epochs = 5000;
net.trainParam.goal = 0.001;
net.trainParam.show = 10;
%训练BP神经网络
net = train(net,p,t);
%存储训练后的BP网络
save My_NET net;
'训练BP网络结束!'
网络的读取与仿真:
clear all; load My_NET; '测试BP网络...' %生成训练数据和目标值 p=[0 0; 1 0; 0 1; 1 1]'; t=[1 0; 0 1; 0 1; 1 0]'; %使用已训练好的网络进行测试 a = sim(net,p); a=a>0.5; %当a>0.5时,令a=1;否则,a=0. '测试结束!'