找回密码
 注册
关于网站域名变更的通知
查看: 585|回复: 3
打印 上一主题 下一主题

bp神经网络

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2021-3-4 13:23 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
用bp神经网络确定抽水试验含水层参数。但所求结果与实际相差较大
  I! k5 s# M! c, X) rclear all; close all;clc% F4 q9 a0 R, m2 h( K: G
load t.txt    %导入数据4 D; ~. u, W5 C5 C; q6 ~; f- j
load newinput.txt
- \) u/ [1 C) B+ J) A0 J% 随机生成测试和验证数据
+ F3 }& W# c6 VT = 0.12 + 0.04*rand(1,120)
0 o; i1 l" H9 z' IU = 0.0002 +0.0001*rand(1,120)
5 K: [# O5 {$ J) F/ e( ]& M; X* a: Y, R. F/ q! A
%根据公式计算求得输入数据
& k# o1 e3 {4 k: h9 L& T* T: E3 L  O7 [
M=zeros(18,120)1 l9 |7 h$ n; `
for i=1:120
4 @. j7 f! ~6 B/ O    for c=1:18
2 e+ }* w% a  E, r# Y    m=43*43*U(1,i)/4/T(1,i)/t(c,1);n=-0.577216-log(m)+m;s=1*n/4/T(1,i )/pi;M(c,i)=s;: k( h& d. \3 o1 G
    end2 [0 Q; X, Q' N6 ^' U4 ~6 Y5 ]1 B4 F
end
+ j6 C  a0 K- t( [/ q( `7 A9 |9 T" |# T5 ?! {
data  = [T;U]
3 p6 o! [* }' E8 P" f! s0 }4 v: h! A2 A0 a2 A+ d
p = M
( R6 S( o+ w7 @  x# C2 [t = data3 X( G; q5 B: |+ R: [$ L$ B
% 划分数据,分成测试和验证数据& h8 ?, E; W* r3 ^2 v3 }
[trainsample.p,valsample.p,testsample.p] =dividerand(p,0.8,0.15,0.15) ;* _$ l/ F; N1 X  a! c
[trainsample.t,valsample.t,testsample.t] =dividerand(t,0.8,0.15,0.15);
) L" L6 U  `# x7 D" Q( S7 ]3 R3 l! S5 Z5 s. m; [
% 数据归一化处理# B6 \9 @$ h  i0 j, u4 N  j' C
[trainsample.P, ps] = mapminmax(trainsample.p,0,1)
1 w/ Q9 G' M* F3 U9 ?4 gtestsample.P = mapminmax('apply',testsample.p,ps)7 Q9 c/ ?4 y6 r( X
[trainsample.T, ts] = mapminmax(trainsample.t, 0,1)
6 k, x( b- K" T8 r% l$ ~
7 v! z/ n0 R- @% 初始化网络
* M$ H$ K, J$ A3 Gnet = newff(trainsample.P,trainsample.T,[1,27])( e" ~$ @3 p9 @
2 t' F. x! w" d4 L
% 设置网络参数
' U! F: p. L' Y* p. onet.trainParam.epochs = 50000;
. s5 I( c5 y' j9 Onet.trainParam.show=50;
  Z8 p5 i- h) H: O9 {net.trainParam.lr = 0.68;
) S$ I! z6 d1 u* D  n* z" Cnet.trainParam.goal = 1E-15;& {. _" E/ U8 F  G

& D7 _& R8 P& |1 U* Xnet.traiNFCn='trainbr';
4 I7 [- t1 t% S[net,tr]=train(net,trainsample.P,trainsample.T);1 E  Q$ V. k' {% q* B
6 _- ?! K1 z! b
% 仿真处理
1 Z5 [# u# }. a; e1 Xp_sim=sim(net,testsample.P);0 Y/ e* A: K5 I4 n: F' f3 a0 U
P_sim = mapminmax('reverse', p_sim, ts);* C5 f* n1 S6 v- P# j" d
6 H4 S. y( |7 J. G- V* P! Z) ~! i
% 数据预测
: `7 F9 g+ w9 F3 p+ nnewinput = mapminmax('apply', newinput, ps);4 n- P! {: I! o& E
newOutput = sim(net, newinput);
$ a2 Y$ L. V* W+ B4 Q8 c/ g! QnewOutput = mapminmax('reverse',newOutput, ts)
. Q; l& u4 ~' Q1 T# Z: |$ r- F
, R; Z$ B# w; S

& Y( L! \) t& R* \# [9 u " t! u& L( c/ m+ o

该用户从未签到

2#
发表于 2021-3-4 13:33 | 只看该作者
帮你顶一下

该用户从未签到

3#
发表于 2021-3-4 15:53 | 只看该作者
我的理解是:
, B* Y9 a0 {) ?; l2 f. N①有一组已知数据来自t.txt,它们是某模型的输入变量;该模型另有参数U和参数T;模型的输出为形如newinput.txt中的数据。# L6 d* M/ c1 O9 R$ x5 `' L$ ]( U. I
②目标是根据实际输出newinput.txt中的数据,拟合得到参数U和参数T的数值。1 U3 [. R3 G# b
③实现过程则是,先随机生成一系列的参数U和T,并根据该模型计算得到对应的输出;接着构造一个神经网络,使用前述模型计算输出作为训练的输入,使用参数U和T的数据作为训练的输出,开始进行反馈训练;最后使用经过训练的神经网络,完成目标②。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-8-2 19:22 , Processed in 0.125000 second(s), 26 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表