Not enough input arguments for an anonymous function.

20 visualizaciones (últimos 30 días)
Connor
Connor el 12 de Feb. de 2023
Editada: the cyclist el 12 de Feb. de 2023
I have this anonymous function:
g = @(x,k) exp(cos(x))^k
I am getting this error:
Not enough input arguments.
Error in solution>@(x,k)exp(cos(x))^k (line 5)
g = @(x,k) exp(cos(x))^k
Im not sure the fix for this because x and k are both represented in the function.
  2 comentarios
Torsten
Torsten el 12 de Feb. de 2023
g = @(x,k) exp(cos(x)).^k;
g(2,4)
ans = 0.1893
Voss
Voss el 12 de Feb. de 2023
x and k are both represented in the function, yes, but how are you calling the function? If you call it with fewer than two arguments you'll get that error.
% defining g:
g = @(x,k) exp(cos(x))^k
g = function_handle with value:
@(x,k)exp(cos(x))^k
% calling g with 2 arguments:
g(pi,2) % ok
ans = 0.1353
% calling g with 1 argument:
g(pi) % error
Not enough input arguments.

Error in solution (line 1)
g = @(x,k) exp(cos(x))^k
You haven't shown how you are calling the function g, so check on that.

Iniciar sesión para comentar.

Respuestas (1)

the cyclist
the cyclist el 12 de Feb. de 2023
Editada: the cyclist el 12 de Feb. de 2023
I think you probably wanted to raise to the power element-wise, so I changed your function to
g = @(x,k) exp(cos(x)).^k;
But that won't cause the error you got.
How are you calling it? This works:
g = @(x,k) exp(cos(x)).^k;
g(1:5,3)
ans = 1×5
5.0577 0.2870 0.0513 0.1407 2.3420

Categorías

Más información sobre MATLAB Coder en Help Center y File Exchange.

Etiquetas

Productos


Versión

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by