我有两个数据集,是从 CSV 加载的。文件,并将它们拆分为 X 和 T:
X (3x5000) double
T (1x5000) double
我正在尝试配置此功能,但无法配置
http://www.mathworks.co.uk/help/toolbox/nnet/ref/layrecnet.html
X 具有三个功能和 5000 个示例。 T 有一个特征和 5000 个示例。例如,目标是特征 1 领先 20 步。所以基本上X(1,21) == T(1)
。
[X,T] = simpleseries_dataset;
这非常有效,在本例中,我有 1x100、1x100。
但是,如果我使用自己的数据集,我会得到以下结果:
X = data(:,1:3)';
T = data(:,4)';
net = layrecnet(1:2,10);
[Xs,Xi,Ai,Ts] = preparets(net,X,T);
??? Index exceeds matrix dimensions.
Error in ==> preparets at 273
ti = tt(:,FBS+((1-net.numLayerDelays):0));
我不明白,我做错了什么?
更新
我注意到我的数据集是 T (1x5000) double,而示例数据集是 T (1x100) cell。 double 和 cell 有什么区别?
最佳答案
我解决了这个问题:
X = num2cell(X);
T = num2cell(T);
我不知道为什么;它必须是 MATLAB 语法...
关于neural-network - "Index Exceeds Matrix Dimensions"神经网络函数错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10080079/