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

bp神经网络

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
用bp神经网络确定抽水试验含水层参数。但所求结果与实际相差较大
! k, [& \+ C3 A* L0 wclear all; close all;clc
( ^& V! G) T9 h/ J: B# K; I! {load t.txt    %导入数据
" K( y& y4 m/ }; q* eload newinput.txt0 H$ z( y" q% l9 p, N  |
% 随机生成测试和验证数据# A1 I- F, O6 m% K1 o+ |# f
T = 0.12 + 0.04*rand(1,120)
5 \7 Y# q. m0 ~4 r' S7 K; UU = 0.0002 +0.0001*rand(1,120)* I- O, L4 C2 T
/ x. |+ {! q: ?' X# b0 @- R  y# [$ @
%根据公式计算求得输入数据, s! v* N( q  c9 x7 V' r9 K4 u

3 w- J( ?! b0 `M=zeros(18,120)' ~5 \) ~) S$ ]' d0 v0 R7 s, r6 d
for i=1:1204 v# O* n% F! u6 ~# Z- X' L: B6 K
    for c=1:18
5 h; y; q) r) P: M& U) O    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;, `4 n4 U6 j  m2 V* k$ \0 `
    end
0 R% m7 z% J& P  ]# E; r, nend9 K' z4 U1 n4 T# r. X
" Q9 X: D3 R6 \3 k2 P
data  = [T;U]( g9 o5 d8 j$ L0 a9 T. a" B4 X; d

3 r# a4 n/ S2 X( d- T3 B: vp = M9 T* r% z7 \; A
t = data
8 y$ }' F: y  I/ A% 划分数据,分成测试和验证数据
! o8 k" J# a8 e# e5 i/ _0 z" A/ e[trainsample.p,valsample.p,testsample.p] =dividerand(p,0.8,0.15,0.15) ;
3 x+ p; |, B8 U; r[trainsample.t,valsample.t,testsample.t] =dividerand(t,0.8,0.15,0.15);
6 V$ y2 C3 P0 t8 K* G" V6 b+ ]" M* u0 d3 ?7 G  R
% 数据归一化处理+ ~0 S4 ~' s8 v" `' G
[trainsample.P, ps] = mapminmax(trainsample.p,0,1). `# w  L5 X( ?9 ^
testsample.P = mapminmax('apply',testsample.p,ps)
$ h. p/ |0 l# t) d. n[trainsample.T, ts] = mapminmax(trainsample.t, 0,1)
- z1 I8 d8 ^3 I- M# L/ z8 ]% J/ Y- {. X$ ?8 T5 l
% 初始化网络
& f! {& L. L* ^, Nnet = newff(trainsample.P,trainsample.T,[1,27]), @  U6 I* b) R9 j; H- b6 D* _

$ S4 W. U0 T+ |0 f: e% 设置网络参数0 J* L3 }3 |; Q5 [$ ^( |8 k
net.trainParam.epochs = 50000;* o; \# P* l# x+ g1 j7 q
net.trainParam.show=50;
! B4 g& Z3 P3 a7 }" O7 F4 Anet.trainParam.lr = 0.68;
' i; W; s; e6 d' J% J# ]net.trainParam.goal = 1E-15;2 h5 z. ^. ~1 \: h7 l) B

7 q# q3 ~! R8 O2 Hnet.traiNFCn='trainbr';
; g( M0 E* q/ G8 Q9 s[net,tr]=train(net,trainsample.P,trainsample.T);
+ L; X( u$ D  F) p! h, F9 c8 m. ?/ w+ W: B1 V3 K6 V
% 仿真处理
4 [' E+ m5 ?2 p0 ]p_sim=sim(net,testsample.P);
8 D0 I2 k! }" i( @" aP_sim = mapminmax('reverse', p_sim, ts);
6 q' B% T& {* n4 f8 Z- z; T* n/ P. `2 K* k' M9 @
% 数据预测
$ Y- ^9 J7 @- |, tnewinput = mapminmax('apply', newinput, ps);! k3 ~; J% U: p, ?& n2 C
newOutput = sim(net, newinput);  q& V( h4 e- E. W
newOutput = mapminmax('reverse',newOutput, ts)
3 q( i( {. ^; |8 x" D  o
6 M8 B  z/ z6 f* y0 o. m* i, G) V
; H" {; e; t4 Y3 L. `

2 g( k0 s( w, @! o

该用户从未签到

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

该用户从未签到

3#
发表于 2021-3-4 15:53 | 只看该作者
我的理解是:
6 U! G. w: j, L6 d9 u①有一组已知数据来自t.txt,它们是某模型的输入变量;该模型另有参数U和参数T;模型的输出为形如newinput.txt中的数据。
1 ?$ ]0 C0 A7 e5 U6 {, [2 d②目标是根据实际输出newinput.txt中的数据,拟合得到参数U和参数T的数值。
1 m' y- t1 |# A/ O& ~③实现过程则是,先随机生成一系列的参数U和T,并根据该模型计算得到对应的输出;接着构造一个神经网络,使用前述模型计算输出作为训练的输入,使用参数U和T的数据作为训练的输出,开始进行反馈训练;最后使用经过训练的神经网络,完成目标②。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-10-30 15:29 , Processed in 0.156250 second(s), 26 queries , Gzip On.

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

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

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