Error -Index exceeds matrix dimensions.

I get error ,please tell how to rectify it,i have used 100x4 for training and rest for testing, even though i get error
clc
clear all
load fisheriris
groups = ismember(species,'setosa');
k=10;
groups =groups(1:100,:);
mt=meas(1:100,:);
mte=meas(101:end,:);
cvFolds = crossvalind('Kfold', groups, k);
cp = classperf(groups);
for i = 1:k
testIdx = (cvFolds == i);
trainIdx = ~testIdx;
svmModel = svmtrain(mt(trainIdx,:), groups(trainIdx), ...
'Autoscale',true, 'Showplot',false, 'Method','QP', ...
'BoxConstraint',2e-1, 'Kernel_Function','rbf', 'RBF_Sigma',1);
pred = svmclassify(svmModel, mte(testIdx,:), 'Showplot',false);
cp = classperf(cp, pred, testIdx);
end

3 Comments

Usually we can debug faster when the person tells us which line the error is occuring on.
Index exceeds matrix dimensions.
Error in ==> Untitl at 22 pred = svmclassify(svmModel, mte(testIdx,:), 'Showplot',false);

Sign in to comment.

Answers (1)

Your cvFolds is constructed from groups, which is rows 1:100, but you use an index derived from that (testIdx) to index mte which is rows 101:end and so might be smaller.

3 Comments

So how to rectify it walter
How could we know, what you exactly want to achieve?
i want to train the data with 100 data ant test the remaining

Sign in to comment.

Tags

Asked:

on 10 Jan 2013

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!