|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
我这个神经网络原来预测一个正弦函数,倒是可以。但是我预测y=sinx/x这个函数时就不行了,大家帮忙看看怎么回事呢?
clc
clear
close all
P1=0:0.1*pi:20*pi
T1=sin(P1)./P1
% 设置网络参数
net = newff(minmax(P1),[20 1],{'tansig' 'purelin'},'trainlm');
net.trainParam.show = 20; % 训练显示间隔
net.trainParam.lr = 0.3; % 学习步长 - traingd,traingdm
net.trainParam.mc = 0.95; % 动量项系数 - traingdm,traingdx
net.trainParam.mem_reduc = 1; % 分块计算Hessian矩阵(仅对Levenberg-Marquardt算法有效)
net.trainParam.epochs = 1000; % 最大训练次数
net.trainParam.goal = 1e-8; % 最小均方误差
net.trainParam.min_grad = 1e-20; % 最小梯度
net.trainParam.time = inf; % 最大训练时间
%---------------------------------------------------
% 训练
net = train(net,P1,T1);
% 测试
T2= sim(net,P1)
plot(P1,T1,'r',P1,T2,'b') |
|