Problem using function handles
显示 更早的评论
I have a homework problem where I have to code a function for a bisection root finder. One of the inputs to the function is the handle to the function to be searched, but I'm having problems implementing it. I'm gonna simplify this from my homework, but let's say I have a test function thats:
function [y] = f(x)
y = x - cos(x);
end
And my bisection root finder is:
function [root] = bisection(func, upper_bound, lower_bound)
func_ub = @func(upper_bound);
func_lb = @func(lower_bound);
root = (func_up + func_lb)/2;
end
If I enter bisection(f,0,2) in the command window matlab returns the error:
Not enough input arguments.
Error in f (line 2)
y = x - cos(x);
I'm trying to get some values for func_ub and func_lb by plugging in my upper_bound and lower_bound into my function f, some help would be greatly appreciated. Thanks!
1 个评论
Stephen23
2018-9-30
回答(1 个)
Rik
2018-9-29
Maybe you mean this?
bisection(@f,0,2)
4 个评论
Jarrett Barber
2018-9-29
Rik
2018-9-29
You don't need the @ in the bisection function
Jarrett Barber
2018-9-29
Rik
2018-9-29
You're welcome. If this solved your problem, please hit the 'accept answer' button. If not, feel free to post your remaining issues in a comment below.
类别
在 帮助中心 和 File Exchange 中查找有关 Startup and Shutdown 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!