Adding an Extra Input Parameter to the Function

조회 수: 4 (최근 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에서 Get Started with MATLAB에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by