I\'m trying to write a function that is gets two arrays and the name of another function as arguments.
e.g.
main.m:
x=[0 0.2 0.4 0.6 0.8 1.0];
You could try in func2.m
:
function t = func2(x, y, funcName) % no quotes around funcName
func = str2func(funcName)
t = func(x, y)
end
You could also use function handles rather than strings, like so:
main.m
:
...
func2(x, y, @func2eq); % The "@" operator creates a "function handle"
This simplifies func2.m
:
function t = func2(x, y, fcnHandle)
t = fcnHandle(x, y);
end
For more info, see the documentation on function handles