为了解决课题,制作matlab小程序的如下。
关闭全部
清除器
echo on
clc
clc
p=[0.001、0.178、0.362、0.012、0.447、1.000、0.989; 0.465、0.128、0.436、0.079、0.001、1.000、0.668; 0.031、0.001、0.254、1.000、0.016、0.378、0.171; 0.001、0.198、0.373、0.260、0.786、0.228、0.979; 1.000、0.884、0.563、0.119、0.311、0.508、0.001];
t=[0.010、1.000、0.406、0.314、0.056、0.258、0.001; 0.075、0.306、0.061、0.178、0.016、0.001、1.000];
clc
net=newff(minmax(p ),[ 3,2 ],{'logsig ',' tansig'},' trainlm ' );
input weights=net.iw { 1,1 }
inputbias=net.b{1}
layer weights=net.iw { 1,1 }
layerbias=net.b{1}{2}
clc
net.trainParam.show=500;
net.trainParam.lr=0.05;
net.trainParam.mc=0.9;
net.trainParam.epochs=10000;
net.trainParam.goal=1e-4;
clc[net,tr]=train(net,p,t );
clc
a=sim(net,p ) ) )。
E=T-A
MSE=MSE(e )
clc
r=[0.4201、1.0000、0.0010; 0.5823、0.0010、1.0000; 1.0000、0.0010、0.8349; 1.0000、0.0010、0.4439; 0.0010、1.0000、0.3047;
x=[ 0.3199,0.0010,1.0000; 1.0000、0.0010、0.1134 );
c=sim(net,r ) ) )。
E=C-X
MSE=MSE(e )
ECho关闭
的数据p、t、r手动归一化的结果,输出的c的中途有负数不是有问题吗? 输出结果如何规范化? 的正则表达式为: x=0.001(1-0.001 ) ) *(X-Xmin )/(Xmax-Xmin )/(Xmax-Xmin )。 逆正规化是那个反函数,这个反函数怎么能求出?
特别是向各位大神求助!