これは私のコードです:
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 を使用してシミュレーション結果を取得したいと考えています。
これらのエラーは、トレーニング セクションとテスト セクションの入力サイズの違いに基づいていると思います。
どうすればこの問題を解決できますか? 追加のプロセスを実行する必要がありますか??
私はあなたの親切な答えを探しています。
ありがとうございました。