"Error: not enough input arguments" even though all input arguments are in workspace.

1 view (last 30 days)
I use the function below and I have all input arguments in the workspace (f as function, x, y). It asks me to define f, x, and y when I press run and when I fill these in it works. This really irritates me!! Thanks in advance.
function [G] = TaylorSeries(f, x, y)
syms x y
G = f;
display(G)
end

Accepted Answer

Walter Roberson
Walter Roberson on 8 Oct 2017
When you run a function, MATLAB never looks inside the workspace of the place it was invoked from in order to try to locate variables whose names just happen to match the name of the parameter given in the function definition. You always have to pass the values into the function, such as going to the command line and invoking
f = @(x, y) sin(x) - 2*cos(2*y) + tan(x.*y);
x = 1.234;
y = 8.765;
TaylorSeries(f, x, y)

More Answers (0)

Categories

Find more on Mathematics in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!