I am using cellfun to apply a function on train and test variables for feature extraction. The function works absolutely fine when used without cellfun but with cellfun it gives an error. The code which I'm running:
RRTrain1 = cellfun(@(x)[rrvec] == RRfeatures(x),XTrain,'UniformOutput',false);
And this is the error which is appearing,
Unrecognized function or variable 'rrvec'.
Error in @(x)[rrvec]==RRfeatures(x)
However, rrvec is already declared within RRfeatures function. Can anyone please suggest how to solve this issue?

 채택된 답변

Star Strider
Star Strider 2021년 5월 13일

1 개 추천

Try this instead —
RRTrain1 = cellfun(@(x)RRfeatures(x),XTrain,'UniformOutput',false);
I have no idea if that will do what you want.
More importantly, if the function works fine on its own, is there a specific reason for using cellfun?

댓글 수: 4

The RRfeatures function generates a 1xn array as output whose value I'm pulling inside rrvec. That's why I'm using rrvec here.
I'm using cellfun as I'm working with around 5000 signals stored in a cell array and I think cellfun will help me apply the function to each signal inside the cell array.
First, you did not say if the change I proposed did what you wanted.
Second,.using a loop with the original function would likely be easier and more efficient, since you already know that the function would work in that context.
I solved the issue. It did not work that way. I had to use a counter instead of a loop. That served my purpose. Thank you for your help.
As always, my pleasure!

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

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Structures에 대해 자세히 알아보기

태그

질문:

2021년 5월 13일

댓글:

2021년 5월 14일

Community Treasure Hunt

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

Start Hunting!

Translated by