这是我的代码:
p = input1;
t1 = output1;
net = feedforwardnet(10, 'trainrp');
net.trainParam.epochs = 1000;
net.trainParam.goal = 0.0005;
net = train(net, p, t1);
y1 = sim(net, p);
p = input2;
t2 = tar;
y2 = sim(net, p);
但是,我收到此错误:
error using bsxfun
Non-singleton dimensions of the two input arrays must match each other.
Error in nnMATLAB.pc (line 24)
pi = bsxfun(@minus,pi,settings.xoffset);
Error in nncalc.preCalcData (line 20)
data.Pc = calcMode.pc(net,data.X,data.Xi,data.Q,data.TS,calcHints);
Error in nncalc.setup1 (line 118)
calcData =
nncalc.preCalcData(matlabMode,matlabHints,net,data,doPc,doPd,calcHints.doFlattenTime);
Error in network/sim (line 283)
[calcMode,calcNet,calcData,calcHints,~,resourceText] = nncalc.setup1(calcMode,net,data);
我想制作一个神经网络,其中 input1 作为输入 310 x 24 矩阵和 output1 作为输出,155 x 24 矩阵。
此外,我将使用 input1 和 output1 训练网络
在这个训练过程之后,我将使用 input2 作为测试数据,我想使用上面的由 input1 和 output1 训练的网络得到一个模拟结果。
总之,我想用 input1 和 output1 训练我自己的网络,我想用 input2 得到我的模拟结果。
我认为这些错误是基于训练部分和测试部分之间的输入大小差异。
我怎么解决这个问题?我应该运行额外的过程吗?
我正在寻找你亲切的答案。
谢谢你。