Problem in using function handle?

조회 수: 4 (최근 30일)
Abhinav
Abhinav 2015년 8월 20일
댓글: Abhinav 2015년 8월 20일
I have written a function 'PLSR_A', which works fine. The function is as follows
[beta,yfit,q,RMSE] = PLSR_A(X,Y,npc)
I want to create a function handle in matlab 'crossval' function which will compute the cross-validation error for leave one out. Therefore, I defined a function handle as follows
fun = @(xT,yT,xt,yt) ((yt-(([1 xt])*PLSR_A(xT,yT,npc)))^2);
But when I compute fun with different 'npc' values it gives same output, however, using the function PLSR_A directly, gives different outputs for different 'npc' (which is correct).
I have read the documentation for function handle but couldn't find the problem, can anyone help?

채택된 답변

Adam
Adam 2015년 8월 20일
편집: Adam 2015년 8월 20일
npc is a fixed input to that function handle, it will be set at the time the function handle is created as a constant. If you want it to be one of your input variables you need:
fun = @(xT,yT,xt,yt,npc) ((yt-(([1 xt])*PLSR_A(xT,yT,npc)))^2);

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Gaussian Process Regression에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by