"Unrecognized function or variable" error when using fminbnd on an anonymous function
이전 댓글 표시
Any time I call an anonymous function in fminbnd, an error is returned, particularly with this code:
f=@(x) x^3;
g=@(x) 4*cos(x);
h=@(x) 6*exp(g(f(x)));
fminbnd(@h, -10, 10)
The error is:
Unrecognized function or variable 'h'.
Error in fminbnd (line 233)
x= xf; fx = funfcn(x,varargin{:});
Error in Homework8 (line 25)
fminbnd(@h, -10, 10)
If I copy the code and paste it into its own function file and then try to use fminbnd, it works as intended.
답변 (2개)
Here, h is already defined as a function handle, so the '@' is not necessary, and is in fact causing the error.
Try this.
f=@(x) x^3;
g=@(x) 4*cos(x);
h=@(x) 6*exp(g(f(x)));
fminbnd(h, -10, 10)
h is already a function handle, there's no need to try to make it one again.
f1 = @sin; % Regular function handle
f2 = @(x) x.^2; % Anonymous function (also a function handle)
h = @(x) f1(x)+f2(x); % Another function handle
fminsearch(h, pi/2)
댓글 수: 2
REMYA R suresh
2022년 4월 8일
Error in cuu (line 24)
fx=fns(nest);
how to rectify this error ?
Torsten
2022년 4월 8일
Difficult to say without your code.
카테고리
도움말 센터 및 File Exchange에서 Startup and Shutdown에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!