Open YLili opened 7 years ago
When I run the test_svdd.m in 'FastSVDD-master\Code\Ellipse\svdd', matlab print there is something wrong. The output is
字段赋值赋给非结构体数组对象。 出错 createOptionFeedback (line 33) options.(stopTestOptions{k}) = []; 出错 prepareOptionsForSolver (line 40) optionFeedback = createOptionFeedback(options); 出错 quadprog (line 133) [options, optionFeedback] = prepareOptionsForSolver(options, 'quadprog'); 出错 svdd_train (line 62) [alpha, fval, exitflag, output] = quadprog(H,[],[],[],A,b,vlb,vub,x0,'Display','none','TolX',1e-14,'TolFun',1e-14,'TolCon',1e-14); 出错 test_svdd (line 16) [svi, alpha,c] = svdd_train(train,K,ker,C,2^log2g);
I find there maybe a mistake in FastSVDD-master\Code\Ellipse\svdd\svdd_train.m, the following code
[alpha, fval, exitflag, output] = quadprog(H,[],[],[],A,b,vlb,vub,x0,'Display','none','TolX',1e-14,'TolFun',1e-14,'TolCon',1e-14);
should change into
[alpha, fval, exitflag, output] = quadprog(H,[],[],[],A,b,vlb,vub,x0,struct('Display','none','TolX',1e-14,'TolFun',1e-14,'TolCon',1e-14));
Maybe this is because the different version of matlab. Thanks for your code anyway! It is excellent!
Yes you're absolutely right. A different matlab version was used earlier which was the reason for the error. Will update the change soon.
When I run the test_svdd.m in 'FastSVDD-master\Code\Ellipse\svdd', matlab print there is something wrong. The output is
字段赋值赋给非结构体数组对象。 出错 createOptionFeedback (line 33) options.(stopTestOptions{k}) = []; 出错 prepareOptionsForSolver (line 40) optionFeedback = createOptionFeedback(options); 出错 quadprog (line 133) [options, optionFeedback] = prepareOptionsForSolver(options, 'quadprog'); 出错 svdd_train (line 62) [alpha, fval, exitflag, output] = quadprog(H,[],[],[],A,b,vlb,vub,x0,'Display','none','TolX',1e-14,'TolFun',1e-14,'TolCon',1e-14); 出错 test_svdd (line 16) [svi, alpha,c] = svdd_train(train,K,ker,C,2^log2g);
I find there maybe a mistake in FastSVDD-master\Code\Ellipse\svdd\svdd_train.m, the following code
[alpha, fval, exitflag, output] = quadprog(H,[],[],[],A,b,vlb,vub,x0,'Display','none','TolX',1e-14,'TolFun',1e-14,'TolCon',1e-14);
should change into
[alpha, fval, exitflag, output] = quadprog(H,[],[],[],A,b,vlb,vub,x0,struct('Display','none','TolX',1e-14,'TolFun',1e-14,'TolCon',1e-14));
Maybe this is because the different version of matlab. Thanks for your code anyway! It is excellent!