Adding an Extra Input Parameter to the Function
3 次查看(过去 30 天)
显示 更早的评论
How can I add an extra input parameter to the function below? I want to add switch-case inside the function.
[features,history] = sequentialfs(@fun,X,Y,...
'direction','forward','cv',cvt,'options',dsp_options);
function cl_err = fun(xTrain,yTrain,xTest,yTest)
.....
end
2 个评论
Ameer Hamza
2018-5-25
What does switch case have to do with the input arguments? Please clarify your question.
采纳的回答
dpb
2018-5-25
Since sequentialfs is a builtin Toolbox function, you'll really not want to mess with it directly; write a wrapper function around it to use with a specific alternate name and make the modifications desired there; then have it pass the arguments on to the builtin function.
更多回答(1 个)
Guillaume
2018-5-25
[features,history] = sequentialfs(@(xTrain,yTrain,xTest,yTest) fun(xTrain,yTrain,xTest,classifier) , ...
X,Y,'direction','forward','cv',cvt,'options',dsp_options);
function cl_err = fun(xTrain,yTrain,xTest,yTest,i)
switch i
...
Basically, create an intermediate anonymous function
@(xTrain,yTrain,xTest,yTest) fun(xTrain,yTrain,xTest,classifier)
which calls fun with the extra argument classifier (which will become i in fun).
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!