|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
P=[-1, -2, 3, 1; -1, 1, 5, -3];
% T 为目标矢量
T=[-1, -1, 1, 1];
pause;
clc
% 创建一个新的前向神经网络
net=newff(minmax(P),[3,1],{'tansig','purelin'},'traingdm')
% 当前输入层权值和阈值
inputWeights=net.IW{1,1}
inputbias=net.b{1}
% 当前网络层权值和阈值
layerWeights=net.LW{2,1}
layerbias=net.b{2}
pause
clc
% 设置训练参数
net.trainParam.show = 50;
net.trainParam.lr = 0.05;
net.trainParam.mc = 0.9;
net.trainParam.epochs = 1000;
net.trainParam.goal = 1e-3;
pause
clc
% 调用 TRAINGDM 算法训练 BP 网络
[net,tr]=train(net,P,T);
pause
clc
% 对 BP 网络进行仿真
A = sim(net,P)
% 计算仿真误差
E = T - A
MSE=mse(E)
pause
clc
echo off
上面这个程序运行没有问题,但是下面我把
按行向量写入输入向量P=[0.3459, 0.3548, 0.475, 0.6691, 0.6903;0.3595, 0.3705, 0.4932, 0.6848, 0.7302;0.3574 ,0.3688, 0.4914 0.6809, 0.7258;0.3592, 0.3695, 0.493, 0.6846, 0.7298;0.3198 ,0.3492, 0.4554, 0.6525 0.6486;0.345, 0.3542, 0.4731, 0.6687, 0.6899;0.3481, 0.3579, 0.4776, 0.6742, 0.6957;0.3626, 0.4094, 0.5215 0.7033,0.7915;0.3646, 0.4114, 0.5235, 0.7079, 0.7975;0.344,0.3525, 0.4728, 0.6646, 0.6854]
目标向量Q=[206, 34.5, 7850, 2600;226, 38.5, 7850, 2600;206, 34.5, 7650, 2500;226, 34.5, 7650, 2500;186, 30.5, 7850,2600;206, 34.5, 7450, 2200; 206, 40.5, 7450, 2200;266, 34.5, 7850, 2600;266, 38.5, 7850, 2600; 206, 30.5, 7450, 2400]
输入向量为10x5矩阵,输出向量为10x4矩阵
当程序运行时,提示Matrices all have 1 rows,请教下怎么实现上面输入与输出的bp实现。
望各位可以不吝赐教,先谢谢! |
|