%数据读取
n_data=xlsread('70','sheet1','B18:B66')
f_data=xlsread('70','sheet1','C18:C66')
ae_data=xlsread('70','sheet1','D18:D66')
ap_data=xlsread('70','sheet1','E18:E66')
Fx_data=xlsread('70','sheet1','F18:F66')
Fy_data=xlsread('70','sheet1','G18:G66')
Fz_data=xlsread('70','sheet1','H18:H66')
h_data=xlsread('70','sheet1','I18:I66')
V_data=xlsread('70','sheet1','J18:J66')
P_data=xlsread('70','sheet1','K18:K66')
n1_data=xlsread('70','sheet1','B67:B71')
f1_data=xlsread('70','sheet1','C67:C71')
ae1_data=xlsread('70','sheet1','D67:D71')
ap1_data=xlsread('70','sheet1','E67:E71')
%数据归一化
n_data1=reshape(n_data,1,49)
f_data1=reshape(f_data,1,49)
ae_data1=reshape(ae_data,1,49)
ap_data1=reshape(ap_data,1,49)
Fx_data1=reshape(Fx_data,1,49)
Fy_data1=reshape(Fy_data,1,49)
Fz_data1=reshape(Fz_data,1,49)
h_data1=reshape(h_data,1,49)
V_data1=reshape(V_data,1,49)
P_data1=reshape(P_data,1,49)
n1_data1=reshape(n1_data,1,5)
f1_data1=reshape(f1_data,1,5)
ae1_data1=reshape(ae1_data,1,5)
ap1_data1=reshape(ap1_data,1,5)
[n,ps]=mapminmax(n_data1)
[f,ps]=mapminmax(f_data1)
[ae,ps]=mapminmax(ae_data1)
[ap,ps]=mapminmax(ap_data1)
[Fx,ps]=mapminmax(Fx_data1)
[Fy,ps]=mapminmax(Fy_data1)
[Fz,ps]=mapminmax(Fz_data1)
[h,ps]=mapminmax(h_data1)
[V,ps]=mapminmax(V_data1)
[P,ps]=mapminmax(P_data1)
[n1,ps]=mapminmax(n1_data1)
[f1,ps]=mapminmax(f1_data1)
[ae1,ps]=mapminmax(ae1_data1)
[ap1,ps]=mapminmax(ap1_data1)
%初始化神经网络
p=[n;f;ae;ap]
p1=[n1;f1;ae1;ap1]
v=[Fx;Fy;Fz;h;V;P]
net=newff(minmax(p),[15,6],{'tansig','purelin'},'traingdm')
inputWeights=net.IW{1,1}
inputbias=net.b{1}
layerWeights=net.LW{2,1}
layerbias=net.b{2}
net.trainParam.show=50
net.trainParam.lr=0.07
net.trainParam.mc=0.1
net.trainParam.epochs=400000
net.trainParam.goal=5e-3
% 训练网络
[net,tr]=train(net,p,v)
% 实际值与预测值对比
x=1:1:49
out=sim(net,p)
out1=sim(net,p1)
plot(x,out,'*')
hold on
plot(x,P,'o')
save neu10 net
- 1
- 2
- 3
- 4
- 5
- 6
前往页