Adding an Extra Input Parameter to the Function

조회 수: 12 (최근 30일)
MByk
MByk 2018년 5월 25일
댓글: MByk 2018년 5월 25일
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
Ameer Hamza 2018년 5월 25일
What does switch case have to do with the input arguments? Please clarify your question.
MByk
MByk 2018년 5월 25일
편집: MByk 2018년 5월 25일
Actually I asked this question before I want to compare different classifiers. So I planned to pass an input parameter to the function to select different classifier in each iteration. Like below. Btw all suggestions are welcomed.
function cl_err = fun(xTrain,yTrain,xTest,yTest,i)
switch i
case 1
.....
case 2
....
end
end

댓글을 달려면 로그인하십시오.

채택된 답변

dpb
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
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).

카테고리

Help CenterFile Exchange에서 Construction에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by