永发信息网

求用matlab神经网络求权重的程序

答案:2  悬赏:70  手机版
解决时间 2021-03-05 12:36
  • 提问者网友:流星是天使的眼泪
  • 2021-03-04 19:04
求用matlab神经网络求权重的程序
最佳答案
  • 五星知识达人网友:野慌
  • 2021-03-04 19:40
%你没说神经网络类型,就使用最简单的前向反馈网络拟合。
t=[0 3.9 4.1 7.3 8.4 13.1 14.8 16.4 17.7 19 19.7 20.3 21.2 24.5 26.3 27.8 28.9 29 29.8 31.1 32.8 33.5 34.5 35.6 36.2 37.6 37.8 38.7 39.4 40.3 41 41.4 42.5 43.9 45 45.7 46.9 47.8 49 49.4 51.4 53 54 55.6 56.9 57.5 58.9 ];%这里发现t有49个数据,而R就47个,因此将后两个删除
R=[100.16 101.87 101.97 102.99 103.43 105.23 105.89 106.54 107.01 107.52 107.77 108.01 108.39 109.64 110.33 110.90 111.32 111.41 111.86 112.53 112.63 113.10 113.52 113.94 114.39 114.52 114.92 115.26 115.87 115.90 116.27 116.96 117.32 117.71 118.13 118.34 118.62 118.96 119.59 120.20 120.68 121.33 121.90 122.17 122.94 123.27 123.85];
net = newff(t,R,20);%隐层预设20个
net = train(net,t,R);
simplefitOutputs = sim(net,t);
全部回答
  • 1楼网友:孤老序
  • 2021-03-04 20:08
p=[。。。];输入t=[。。。];输出 % 创建一个新的前向神经网络 net_1=newff(minmax(p),[10,1],{'tansig','purelin'},'traingdm') % 当前输入层权值和阈值 inputweights=net_1.iw{1,1} inputbias=net_1.b{1} % 当前网络层权值和阈值 layerweights=net_1.lw{2,1} layerbias=net_1.b{2} % 设置训练参数 net_1.trainparam.show = 50; net_1.trainparam.lr = 0.05; net_1.trainparam.mc = 0.9; net_1.trainparam.epochs = 10000; net_1.trainparam.goal = 1e-3; % 调用 traingdm 算法训练 bp 网络 [net_1,tr]=train(net_1,p,t); % 对 bp 网络进行仿真 a = sim(net_1,p); % 计算仿真误差 e = t - a; mse=mse(e) x=[。。。]';%测试 sim(net_1,x) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 不可能啊 我2009
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯