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

bp神经网络

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
用bp神经网络确定抽水试验含水层参数。但所求结果与实际相差较大$ n+ @( @* d$ A  R  ], Z9 a7 R
clear all; close all;clc! J$ C. l! c2 q; q& Y$ O9 \4 O
load t.txt    %导入数据
5 \! h% }/ [: u2 `6 u; y  V; lload newinput.txt
7 Q5 ?8 H$ z) `% 随机生成测试和验证数据
9 I  u: z& k: e7 t# a6 KT = 0.12 + 0.04*rand(1,120)
# F8 e. W$ O% ^4 FU = 0.0002 +0.0001*rand(1,120)  H* V# L( P7 I* S5 a! H

1 t. o; F- E6 p, ?( y%根据公式计算求得输入数据
0 N+ b2 [- L) E. t5 l/ _+ C2 F6 D4 \2 i5 G6 f7 H% r. v3 V
M=zeros(18,120)2 X. I1 V( q' ^! A7 K
for i=1:120
5 `% u! k$ b4 Q* U% e    for c=1:186 \7 c, ?$ H: M( c1 `* E
    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;% @: o1 W, H8 J
    end9 W  z) f. a$ T+ Z2 _
end" @4 y* I  H  R8 t$ B
3 ^6 H+ D' c5 G* C0 V& ~  X. k, L
data  = [T;U]
" v( c& ^7 O4 d; y0 V5 R
% s7 B/ f% r/ Xp = M5 H( i2 I" c1 _* U
t = data
$ j6 o0 ~0 H& k* c/ D1 e% 划分数据,分成测试和验证数据* P* p# K3 M/ v/ u
[trainsample.p,valsample.p,testsample.p] =dividerand(p,0.8,0.15,0.15) ;) {8 v; O) _. U% G5 E0 F5 J
[trainsample.t,valsample.t,testsample.t] =dividerand(t,0.8,0.15,0.15);; V3 Y8 w" `5 g3 C; _

- {! \$ W. x$ L$ F; Y( u- s% 数据归一化处理
" Q5 y- M6 F$ G  R/ |[trainsample.P, ps] = mapminmax(trainsample.p,0,1)
' T/ g/ `9 a9 {! Z& `. [testsample.P = mapminmax('apply',testsample.p,ps)) ~! e6 @8 f2 V* H4 y+ x
[trainsample.T, ts] = mapminmax(trainsample.t, 0,1), r# M# ?! }/ y) S
( T9 U3 U! [! [/ b
% 初始化网络
% g$ }4 y: u- K( Gnet = newff(trainsample.P,trainsample.T,[1,27])
# [' q, \9 t5 C' c
! V5 B. z( G- V( z% 设置网络参数5 O& E! q, S7 ^" h* N0 S/ W" h
net.trainParam.epochs = 50000;2 c! P* _0 i' j8 d" c
net.trainParam.show=50;4 m/ T. O! ?* Y& I
net.trainParam.lr = 0.68;
6 H& l) z! n9 `" l/ ]; S1 lnet.trainParam.goal = 1E-15;
2 X; u, J! {/ H  k1 O
- q+ m! y% I- j  E: U: @$ Onet.traiNFCn='trainbr';
, ^5 x( d1 e% Z6 n2 a[net,tr]=train(net,trainsample.P,trainsample.T);
/ a& ]. n2 l0 q: l* s* V  U2 K" N2 @# Q* H& k  w& p
% 仿真处理) P4 Q2 `3 A' |
p_sim=sim(net,testsample.P);- t) e, o( |1 G9 S9 T: B9 B6 ~
P_sim = mapminmax('reverse', p_sim, ts);, e5 N  G' V$ V' j0 d' l% m
' Q) W, r6 L& ?( q
% 数据预测5 V" C1 T6 A! v( B6 j' w
newinput = mapminmax('apply', newinput, ps);/ u& Y% x' n: q2 o$ U  J
newOutput = sim(net, newinput);
9 e- [  T' q7 V& g) x& snewOutput = mapminmax('reverse',newOutput, ts)6 e1 W, C, e; n9 i, ^! `  e; A

/ R- b6 }& v* y9 ^9 \" j; I" N; F

0 }2 z5 ?/ [6 j4 k* \. a. l) s 4 r5 @8 }8 D0 d3 H9 R2 X9 F" V' P

该用户从未签到

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

该用户从未签到

3#
发表于 2021-3-4 15:53 | 只看该作者
我的理解是:
5 L' Y3 o( a! O! G+ g①有一组已知数据来自t.txt,它们是某模型的输入变量;该模型另有参数U和参数T;模型的输出为形如newinput.txt中的数据。
4 d( ?6 J! [4 f) |& w3 P- B②目标是根据实际输出newinput.txt中的数据,拟合得到参数U和参数T的数值。( f9 ~) D! T7 \: U
③实现过程则是,先随机生成一系列的参数U和T,并根据该模型计算得到对应的输出;接着构造一个神经网络,使用前述模型计算输出作为训练的输入,使用参数U和T的数据作为训练的输出,开始进行反馈训练;最后使用经过训练的神经网络,完成目标②。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-10-6 11:17 , Processed in 0.125000 second(s), 26 queries , Gzip On.

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

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

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