
神经网络实验报告(附代码)(共5页).doc
5页实验一:单层感知器的MATLAB设计与实现1. 实验要求:P=[ 0.1 0.7 0.8 0.8 1.0 0.3 0.0 -0.3 -0.5 -1.5; 1.2 1.8 1.6 0.6 0.8 0.5 0.2 0.8 -1.5 -1.3 ]T=[ 1 1 1 0 0 1 1 1 0 0;0 0 0 0 0 1 1 1 1 1 ]试用MATLAB实现编程分类,并检验2、实验代码:clcclearfigure(gcf)%setfsize(300,300)echo onpause % 键入任意键继续clcP = [+0.1 +0.7 +0.8 +0.8 +1.0 +0.3 +0.0 -0.3 -0.5 -1.5; ... +1.2 +1.8 +1.6 +0.6 +0.8 +0.5 +0.2 +0.8 -1.5 -1.3];T = [1 1 1 0 0 1 1 1 0 0; 0 0 0 0 0 1 1 1 1 1];pause % 键入任意键,绘制上述矢量plotpv(P,T);pause % 键入任意键,定义一个感知器神经元并绘制初始分类曲线net=newp([-2 1;-2 2],2);net.initFcn='initlay';net.layers{1}.initFcn='initwb';net.inputWeights{1,1}.initFcn='rands';net.layerWeights{1,1}.initFcn='rands';net.biases{1}.initFcn='rands';net=init(net);echo offk = pickic;if k == 2 net.iw{1,1} = [-0.6926 0.6048; 0.1433 -0.9339]; net.b{1}= [ 0.0689; -0.0030];endecho onplotpc(net.iw{1,1},net.b{1})pause % 键入任意键,训练感知器神经元net=train(net,P,T);net.iw{1,1}net.bpause % 键入任意键,绘制结果分类曲线plotpv(P,T);plotpc(net.iw{1,1},net.b{1});pause % 键入任意键,检验训练后的感知器神经元p = [0.7; 1.2];a = sim(net,p)echo offclear3、实验结果:样本 训练前赋初值分类4、验证:实验二:BP网络的拟合能力1、 实验要求:用一个三层的多层BP网络实现对下面函数的拟合要求:1、分析隐层神经元个数对拟合精度的影响 2、分析采样间隔(样本密度)对拟合精度的影响 3、比较trainlm、trainbp、trainbpx等在训练BP网时有什么不同(训练速度和精度等)2、实验代码及结果:实验代码参考例bpRBF1,只做如下修改:(1) 当隐层神经元个数变化时:从10变为30,取采样间隔为0.001,用trainlm:(2) 当采样间隔发生变化时,从0.005到0.001,,神经元个数固定为30,用trainlm:(3)当函数发生变化时:其他参数不变,从trainbp到trainbpx:实验三:RBF网络的拟合能力(1) 实验要求:用RBF网络实现对下面函数的拟合要求:1、分析隐层神经元个数对拟合精度的影响 2、分析采样间隔(样本密度)对拟合精度的影响3、讨论RBF网中参数的大小对拟合模型的精度和泛化能力的影响 (2) 实验代码及结果:(1) 参数sc变化,从0.1变为0.01,取间隔为0.005 (2) 参数sc变化,从0.05变为0.005,取sc为0.01(3)的大小对神经元的影响。












