BP神经网络, MATLAB M文件源代码,跪求各位帮忙
答案:2 悬赏:40
解决时间 2021-04-07 01:50
- 提问者网友:泪姬迷茫
- 2021-04-06 11:22
BP神经网络, MATLAB M文件源代码,跪求各位帮忙
最佳答案
- 二级知识专家网友:开心就好
- 2021-04-06 13:01
function [f1,f2]=forcast_neural(x1,y1,x2)
% 此函数用神经网络进行预测
% x1: 训练输入
% y1: 训练输出
% x2: 测试输入
% 将输入输出数据进行归一化处理;
x1=x1';y1=y1';x2=x2';
warning('off')
[p,minp,maxp,t,mint,maxt]=premnmx(x1,y1);
x22=tramnmx(x2,minp,maxp);
% pr确定各输入变量的最大最小值;[8,r]分别表示各层神经元的个数,8代表因层,r代表输出层;{}中定义传递函数的类型
netw=newff(minmax(p),[8,1],{'tansig','purelin'},'trainlm');
%将网络netw赋给net
net=netw;
%定义网络训练误差
err=0.001;
net.trainParam.goal=err;
%定义学习效率,学习效率非常重要:过大,调整步伐也大,影响训练效果;太小,算法收敛的时间就会增加
net.trainParam.lr=0.3;
%定义最大训练步数
net.trainParam.epochs=2000;
%定义显示的间隔
net.trainParam.show=50;
%训练神经网络
netw=train(net,p,t);
%对训练好的样本进行检验
s1=sim(netw,p); %对网络进行仿真检验,得到网络的输出
%%进行预测
%输出
s2=sim(netw,x22);
%将归一化的数据转换为原始数据
[f1] = postmnmx(s1,mint,maxt);
[f2] = postmnmx(s2,mint,maxt);
% 此函数用神经网络进行预测
% x1: 训练输入
% y1: 训练输出
% x2: 测试输入
% 将输入输出数据进行归一化处理;
x1=x1';y1=y1';x2=x2';
warning('off')
[p,minp,maxp,t,mint,maxt]=premnmx(x1,y1);
x22=tramnmx(x2,minp,maxp);
% pr确定各输入变量的最大最小值;[8,r]分别表示各层神经元的个数,8代表因层,r代表输出层;{}中定义传递函数的类型
netw=newff(minmax(p),[8,1],{'tansig','purelin'},'trainlm');
%将网络netw赋给net
net=netw;
%定义网络训练误差
err=0.001;
net.trainParam.goal=err;
%定义学习效率,学习效率非常重要:过大,调整步伐也大,影响训练效果;太小,算法收敛的时间就会增加
net.trainParam.lr=0.3;
%定义最大训练步数
net.trainParam.epochs=2000;
%定义显示的间隔
net.trainParam.show=50;
%训练神经网络
netw=train(net,p,t);
%对训练好的样本进行检验
s1=sim(netw,p); %对网络进行仿真检验,得到网络的输出
%%进行预测
%输出
s2=sim(netw,x22);
%将归一化的数据转换为原始数据
[f1] = postmnmx(s1,mint,maxt);
[f2] = postmnmx(s2,mint,maxt);
全部回答
- 1楼网友:請叫我丶偏執狂
- 2021-04-06 14:21
我是来看评论的
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯