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

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

 Respuesta aceptada

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)

2 comentarios

Okay, that is helpful!
I suggest reading the help on functions in MATLAB. Otherwise, you will keep running into errors.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Entering Commands en Centro de ayuda y File Exchange.

Preguntada:

el 8 de Oct. de 2017

Comentada:

el 9 de Oct. de 2017

Community Treasure Hunt

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

Start Hunting!

Translated by