数学建模培训--人工神经网络(2)(3)

2019-03-22 23:23

不能对其分类,此结果恰恰证明了前面所述的结论。

2 线性神经网络MatLab上机实验

例2.1

假设输入和期望输出为:

>> P=[1 2 3]

>> T=[2.0 4.2 5.9] 设计网络:

>> net = newlind(P,T); 通过对输入量进行仿真:

>> O=sim(net,P) O =

2.0833 4.0333 5.9833

可见,网络的输出已经非常接近期望的输出值。 例2.2

假设输入和期望输出为:

>> P=[2 1 -2 -1;2 -2 2 1]; >> T=[0 1 0 1]; 设计网络:

>> net = newlin(minmax(P),1); 训练网络:

>> net.trainParam.goal=0.1; >> net = train(net,P,T);

>> net.IW{1,1}

ans =

-0.0615 -0.2194

>> net.b{1,1}

ans =

0.5899

网路仿真:

>> O=sim(net,P)

O =

0.0282 0.9672 0.2741 0.4320

>> err=T-O

err =

-0.0282 0.0328 -0.2741 0.5680

>> mse(err)

ans =

0.0999 例2.3

为了测定刀具的磨损速度,做这样的实验:经过一定时间(如每隔一小时),测量一次刀具的厚度,得到一组实验数据如下: 时间 刀具厚度 0 27.0 1 26.8 2 26.5 3 26.3 4 26.1 5 25.7 6 25.3 7 24.8 试根据上面的实验数据建立一个大体合适的神经网络。 解:

t=[0 1 2 3 4 5 6 7];

y=[27.0 26.8 26.5 26.3 26.1 25.7 25.3 24.8]; plot(t,y,'*');

net=newlind(t,y); %根据t和y设计一个具有最小均方误差的线性神经网络 O=sim(net,t); %用输入t来仿真该网络 plot(t,O,t,y,'*'); e=y-O %期望输出-实际输出

mse = mse(y-O) %网络的均方误差值 w=net.iw{1,1} %权值 b=net.b{1,1} %阈值 时间 期望输出 实际输出 偏差 0 27.0 27.13 1 26.8 26.82 2 26.5 26.52 3 26.3 26.21 4 26.1 25.91 5 25.7 25.61 6 25.3 25.30 7 24.8 25.00 -0.13 -0.02 -0.02 0.09 0.19 0.09 -0.00 -0.20 网络权值:-0.3036 网络阈值:27.1250 网络均方误差:0.0135 所拟合的直线:y=-0.3036*t+27.1250

例2.4

已知一输入信号T=sin(time*pi),其中time=0:0.1:5,构建一个神经网络,利用该组信号的5个过去值预测信号的将来值。 解:

clc;%清空命令窗口 clear;%清空内存 time=0:0.1:5; T=sin(time*pi); Q=length(T);

X=zeros(5,Q);%X中存储信号T的前5次值,作为网络输入。 X(1,6:Q)=T(1,1:(Q-5)); X(2,5:Q)=T(1,1:(Q-4)); X(3,4:Q)=T(1,1:(Q-3)); X(4,3:Q)=T(1,1:(Q-2)); X(5,2:Q)=T(1,1:(Q-1)); plot(time,T);%绘制信号T曲线 xlabel('时间'); ylabel('目标信号'); title('待预测信号'); net=newlind(X,T); O=sim(net,X); figure;

plot(time,T,time,O,'r'); xlabel('时间'); ylabel('输出-目标'); title('输出信号和目标信号');


数学建模培训--人工神经网络(2)(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:基于数据流分析的电控发动机故障诊断研究实验报告

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: