📄 m10_3.m
字号:
P=[1.0 1.5 1.2 -0.3
-1.0 2.0 3.3 -0.5
2.0 1.0 -1.6 0.9];
T=[0.5 3.0 -2.2 1.4
1.1 -1.2 1.7 -0.4
3.0 0.2 -1.8 -0.4
-1.0 0.1 -1.0 0.6];
[Q,R]=size(P);
[S,Q]=size(T);
lr=0.9*maxlinlr(P); %最佳学习率
net=newlin(minmax(P),S,[0],lr); %创建线性网络
net.inputWeights{1,1}.initFcn='rands'; %初始化权值
net.biases{1}.initFcn='rands'; %初始化偏差
net=init(net); %把初始化的权值和偏差函数赋给网络
W0=net.iw{1,1} %显示初始化权值和阈值
B0=net.b{1}
A0=sim(net,P)
e0=T-A1 %求训练前网络的输出误差
sse0=(sumsqr(e0))/(S*Q); %求误差平方和的平均值
fprintf('Before training ,sum squrared error=%g.\n',sse0); %显示训练前网络的均方差
net.trainParam.epochs=400; %最大循环次数
net.trainParam.goal=0.0001; %期望误差
[net,tr]=train(net,P,T); %进行线性自适应网络权值的训练
W=net.iw{1,1} %显示训练好的初始化权值和偏差
B=net.b{1}
A=sim(net,P)
e=T-A2
sse=(sumsqr(e))/(S*Q); %求误差平方和的平均值
fprintf('after training ,sum squrared error=%g.\n',sse) ; %显示训练后网络的均方差
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -