# Input formula to be used in a function

14 views (last 30 days)
Lukas Underwood on 6 Nov 2019
Answered: darova on 6 Nov 2019
Hi all,
I have to write a function that can input different f(x) formulas and then use that formula to get solve for some variable in an output. I haven't been able to find anything that quite applies to what I'm trying to do. Any help is appreciated.
Ex.
function v = functionname(formula,a,b,c,d) %formula could be f(x) = x^2 + 2 or whatever
%I want to use the formula and other inputs to get an output
end

Jeremy on 6 Nov 2019
It sounds like you want
polyval
?
Jeremy on 6 Nov 2019
Without using polyval, something like this is working for me
function f = eval_eq(eq,a)
x = linspace(0,1,101);
f = eq(x,a);
plot(x,f)
end
and then call this with
y = @(x,a) a*x + 1;
f = eval_eq(y,2);
Seems a little out of the way to get it done though. I think just calling the anonymous function in the script is easier than passing it into a function

darova on 6 Nov 2019
Use function handle
function main
f = @(x) 2*x + 1; % function handle
func(f,2,3)
function res = func(f,a,b)
res = f(a)+b;
end
end