Error using feval and Invalid function name

3 visualizaciones (últimos 30 días)
Víctor Sánchez
Víctor Sánchez el 16 de En. de 2022
Comentada: Munna el 7 de En. de 2025
Please friends, i will aprecciate your help,
I have this code:
function I= Trapecios(f,a,b,n)
%Fórmula Trapecios compuesta
h=(b-a)/n;
x=a:h:b;
x=x(:);
for i=1:n-1
k1=feval(f,x(i));
pesos=[1 2*ones(1,n-1) 1];
I=h./2*sum(pesos*k1);
end
end
So when I input the arguments, issues these messagges:
>> Trapecios('x/56',-56/2,9*56/10,8)
Error using feval
Invalid function name 'x/56'.
Error in Trapecios (line 7)
k1=feval(f,x(i));
  2 comentarios
Munna
Munna el 7 de En. de 2025
Error in RCGAF (line 56)
ObjVal(i)=feval(objfun, chromosomes(i,:)); this problem come during running my slx please solve
Munna
Munna el 7 de En. de 2025
what problem in objVal funtion

Iniciar sesión para comentar.

Respuesta aceptada

Voss
Voss el 16 de En. de 2022
You can use an anonymous function, e.g., f = @(x)x/56, or a named function, rather than a character array (f = 'x/56') for feval.
Trapecios(@(x)x/56,-56/2,9*56/10,8) % using anonymous function @(x)x/56
ans = 43.1200
Trapecios(@divide_by_56,-56/2,9*56/10,8) % using a handle to a named function, defined below
ans = 43.1200
Trapecios('divide_by_56',-56/2,9*56/10,8) % using the name of the function
ans = 43.1200
function out = divide_by_56(x)
out = x/56;
end
function I= Trapecios(f,a,b,n)
%Fórmula Trapecios compuesta
h=(b-a)/n;
x=a:h:b;
x=x(:);
for i=1:n-1
k1=feval(f,x(i));
pesos=[1 2*ones(1,n-1) 1];
I=h./2*sum(pesos*k1);
end
end
  2 comentarios
Víctor Sánchez
Víctor Sánchez el 16 de En. de 2022
It worked bro!!!!... Thank you thank you a lot. !!!
Voss
Voss el 16 de En. de 2022
No problem!

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Function Creation en Help Center y File Exchange.

Etiquetas

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by