In the following code i get error a s
P1 = [-1 -1 2 2; 0 5 0 5]; Tar = [0 ;1 ]
indices=crossvalind('kfold',Tar,10); for i=1:10 test=(indices==i);trains= ~test tst = (indices==i); val = (indices== mod(i+1,10)); trn = ~[tst,val]; net=newff(P1(:,trains),Tar(:,trains),2); net=init(net); [net,tr]=train(net,P1(:,trains),Tar(:,trains)); out = round(sim(net,P(:,test)));
Index exceeds matrix dimensions.
Error in cfour (line 58) net=newff(P1(:,trains),Tar(:,trains),2);
No products are associated with this question.
That code is going to generate an error unless "indices" is of length 1 exactly. If it is longer than 1, then "test" and "train" will be longer than 1, and would then be too long to use as logical vectors against the columns of the single-column Tar array.
throws an error in the first run, as Tar has no second dimension. Probably you mean:
1. The input and target matrices must have the same number of columns:
Tar = [ 0 0 1 1 ]
[ I N ] = size( P1) % [ 2 4 ] [ O N ] = size(Tar) % [ 1 4 ]
k = 10
2. a. It doesn't make sense to use k > N
b.Instead of using CROSSVALIND from the Bioinformatics TBX, the algorithm might be more portable if you use CROSSVAL from the Statistics TBX.
3. trains= ~test
Rename. TRAINS is a MATLAB function.
Hope this helps.
Play games and win prizes!Learn more