error -index must be a positive integer or logical.
1 回表示 (過去 30 日間)
古いコメントを表示
I have code for rbf function with cv
xdata=[0.5 25 1 0 ;8 9 21 0;12 25 1 0 ;8 9 21 0; 12 25 1 1 ;8 9 21 0]
ydata=[2 6 9 .6 ;2 8 7 4 ;2 6 9 8 ;2 8 7 4;2 6 9 8 ;2 8 7 4]
training=xdata(:,1:4);test=xdata(:,3:4);
groups=xdata(:,end);cp = classperf(groups);
samplesize=size(xdata);
samplesize=size(xdata);
c=cvpartition(samplesize,'kfold',2);
cp = classperf(groups);
for i=1:2
trainInd = find(c.training(i));
testInd = find(c.test(i));
trainXMat=xdata(xdata(trainInd));
tstXMat=xdata((xdata(testInd)));
trainYMat=ydata(ydata(trainInd));
tstYMat=ydata((ydata(testInd)));
cp = classperf(cp, trainInd , trainInd )
end
i get error as
Attempted to access xdata(0.5); index must be a positive integer or logical.
Error in ==> yasrbf at 20
trainXMat=xdata(xdata(trainInd));
please help
some of my data in xdata and ydata have values in range 0 to 1
0 件のコメント
回答 (2 件)
Walter Roberson
2012 年 4 月 10 日
Why are you using xdata(xdata(trainInd)) instead of just xdata(trainInd) ?
Jan
2012 年 4 月 10 日
As the error message tells clearly, indices must be positive integers. You cannot access the element between the zero'th and the first one like "xdata(0.5)".
Perhaps you want xdata(trainInd) without a further nesting.
参考
カテゴリ
Help Center および File Exchange で Image Data Workflows についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!