xnewff.m

来自「《实用化工计算机模拟:MATLAB在化学工程中的应用 》这本书光盘里的程序~」· M 代码 · 共 42 行

M
42
字号
function xNewff
% xNewff.m
% 本程序用newff()创建两层前向网络,并用sim()对网络进行仿真
%
%   Author: HUANG Huajiang
%   Copyright 2002 UNILAB Research Center,
%   East China University of Science and Technology, Shanghai, PRC
%   $Revision: 1.0 $  $Date: 2003/01/10 $
%
%   [Ref] MATLAB demo, Mathworks Co.

clear all
clc

% 输入样本p和目标t
p = -1:.1:1;
t = [-.9602 -.5770 -.0729  .3771  .6405  .6600  .4609 ...
          .1336 -.2013 -.4344 -.5000 -.3930 -.1647  .0988 ...
          .3072  .3960  .3449  .1816 -.0312 -.2189 -.3201];

% 用newff()创建两层前向网络,网络输入范围是[-1 1],第一层有10个
% TANSIG神经元,第二层有1个PURELIN神经元。训练函数为TRAINLM()
net = newff([-1 1],[10 1],{'tansig' 'purelin'},'trainlm');

% 对前向网络进行仿真,并将网络输出值对目标值作图
y = sim(net,p)
plot(p,t,'o',p,y,'x')  %
title('训练向量 (训练1个epoch)');
xlabel('输入向量 p');
ylabel('目标向量 t');

%   Here the network is trained for 50 epochs.
%   Again the network's output is plotted.
net.trainParam.epochs = 50;
net = train(net,p,t);
y = sim(net,p)
plot(p,t,'o',p,y,'*-')
title('训练向量 (训练50个epoch)');
xlabel('输入向量 p');
ylabel('目标向量 t');

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?