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

bp神经网络

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
用bp神经网络确定抽水试验含水层参数。但所求结果与实际相差较大$ v2 V& S9 i* e0 ^! L$ F
clear all; close all;clc
( N3 e* @0 Y$ V" Dload t.txt    %导入数据' x7 z1 t: W! F2 q
load newinput.txt  `3 ]7 r0 P7 y9 d* \
% 随机生成测试和验证数据" u; b- @- `9 l+ W8 q4 M; {
T = 0.12 + 0.04*rand(1,120)5 b9 V! A6 o4 m8 N
U = 0.0002 +0.0001*rand(1,120), ?$ R+ e/ g0 Z4 [/ E; v
7 X7 |7 |+ ?9 r8 k, d
%根据公式计算求得输入数据
) M% [/ w1 o1 N6 P. j
! R6 B$ ~  A1 NM=zeros(18,120)
; w, a8 d4 K7 a3 K* L  Efor i=1:120
1 M. z9 @! I) m9 r$ a+ e; Y3 [/ _    for c=1:18
3 h# ]4 w9 }/ N) u' `  L    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;
2 B: a! }9 ]+ w# R" {    end, w! ^/ J& `- Y1 I0 y$ k+ M
end4 |, t# P6 R" |, \

; c, i; d4 w- u+ t* Rdata  = [T;U]* f/ n: x- o9 Y; E
$ o8 T# v( I  J$ E, T6 S
p = M9 o9 o  e" T" d- _5 p
t = data7 R& h8 q9 P, H; u7 [
% 划分数据,分成测试和验证数据
5 b* w3 p6 i1 u. ]" k% |: f[trainsample.p,valsample.p,testsample.p] =dividerand(p,0.8,0.15,0.15) ;
' _8 e2 L% T, b[trainsample.t,valsample.t,testsample.t] =dividerand(t,0.8,0.15,0.15);3 H6 e. G6 J: U: k2 b( K# q  d

2 w9 v* d) Z# S  w+ x% 数据归一化处理
6 Z6 i# D  T% T0 z& D9 [' d( p[trainsample.P, ps] = mapminmax(trainsample.p,0,1)
; o' o2 h8 S% B2 v, Y4 n! ntestsample.P = mapminmax('apply',testsample.p,ps)
5 o! u8 r  c& V3 h. ]. @- G[trainsample.T, ts] = mapminmax(trainsample.t, 0,1), K( \) K8 b( I! ^" r! O6 U- O6 O
$ u# w/ |7 `, f3 \7 Y! E2 r
% 初始化网络2 p1 [- [- Y; N, \% z
net = newff(trainsample.P,trainsample.T,[1,27])
1 s! E! }# a' W, H% ]! `( p" g( O) C
% 设置网络参数2 N0 l  q. `! D1 I# T9 D; E) T
net.trainParam.epochs = 50000;# d0 x3 ^; E: N2 ?  X. M
net.trainParam.show=50;
4 \, u. v: ^. s, knet.trainParam.lr = 0.68;
" Y0 Y; d+ @' G2 ?# snet.trainParam.goal = 1E-15;
+ o9 D/ O! s# n* z& S% D5 c& X. E' {) ^8 R) ^! B4 ^  `. e
net.traiNFCn='trainbr';
* n# G5 r8 D- i7 W* {. H# B" A[net,tr]=train(net,trainsample.P,trainsample.T);5 h- T3 ~% K) A

4 m7 v! `# m* p) \+ U* I% 仿真处理  N4 \9 Q- z) ^5 ~7 W
p_sim=sim(net,testsample.P);4 ^& G4 {- Q( L" Q- F
P_sim = mapminmax('reverse', p_sim, ts);% e! a2 [( o2 P6 [& D5 z

3 \' R' t  ?0 M3 V. ]% 数据预测6 ?4 C2 d$ \9 a) S
newinput = mapminmax('apply', newinput, ps);1 ?  ^8 s' {9 g% g) i: n. f
newOutput = sim(net, newinput);  x: `4 H4 d: N
newOutput = mapminmax('reverse',newOutput, ts)0 V% a  Y1 M; Q9 d% g* k; S

$ ?" f3 `5 l0 Y, h

* p8 t6 X/ Q3 \* q, x% R 6 Y( [, t' P! g5 Z7 B

该用户从未签到

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

该用户从未签到

3#
发表于 2021-3-4 15:53 | 只看该作者
我的理解是:
3 K! u1 z6 O! s: j/ C5 z* I2 U①有一组已知数据来自t.txt,它们是某模型的输入变量;该模型另有参数U和参数T;模型的输出为形如newinput.txt中的数据。& \4 h3 J( S' S0 \. Z& R4 N# i" J
②目标是根据实际输出newinput.txt中的数据,拟合得到参数U和参数T的数值。
9 v* o  f6 N* [! ]. n③实现过程则是,先随机生成一系列的参数U和T,并根据该模型计算得到对应的输出;接着构造一个神经网络,使用前述模型计算输出作为训练的输入,使用参数U和T的数据作为训练的输出,开始进行反馈训练;最后使用经过训练的神经网络,完成目标②。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-11-24 02:24 , Processed in 0.156250 second(s), 26 queries , Gzip On.

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

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

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