how - ¿Por qué es necesaria la función Matlab "feval"?
matlab function simulink (3)
No necesariamente siempre sabes qué función se supone que debe usarse; hay muchos ejemplos
aquí hay un ejemplo tonto: let, en un archivo de texto después de cada número, se representan diferentes palabras que se pueden evaluar como una función matemática, como, mean, min, max, square, y la tarea es calcular el resultado después de cada elemento,
2,square,2,power,4,log,10 ...
y desea escribir un programa para revisar este texto y calcular el resultado final ...
Otro ejemplo es, por ejemplo, que quiero definir una función de trazado con la función de entrada de usuario handle f, por lo que debe ser flexible ...
pfun=@(f,x) plot(f(x))
Un identificador de función se puede usar para llamar a una función, por ejemplo
f = @sin;
val = f(1.0);
Entonces, ¿por qué se necesita "feval" alguna vez?
val = feval(f, 1.0);
¿Cuándo es útil?
Para feval
, el primer argumento puede ser una cadena entrecomillada, que le da más flexibilidad que un identificador de función. Podría hacer cosas como tener funciones con un nombre base seguido de un índice como en fn1
, fn1
, fn3
, y luego invocarlas dinámicamente usando feval([''fn'', num2str(k)], x, y, z);
.
Hasta el lanzamiento 14 (MATLAB 7), feval era la forma de evaluar un manejador de función ... o de evaluar funciones cuando se especificaban por su nombre.
Fuente: Modelo mental para feval()
.