Rendimiento de `eval` en comparación con` str2func` para evaluar una función desde una cadena

eval ystr2func ambos pueden evaluar una función representada por una cadena, p. ej.f='a^x+exp(b)+sin(c*x)+d':

Utilizandoeval:

y = eval(f)

o (sugerido por rahnema1)

fHandle = eval(['@(x, a, b, c, d) ' f]);
y = fHandle(x, a, b, c, d);

Utilizandostr2func:

fHandle = str2func(['@(x, a, b, c, d) ' f]);
y = fHandle(x, a, b, c, d);

¿Cuál de los dos métodos tiene el mejor rendimiento?

Observaciones

Tenga en cuenta que este punto de referencia está inspirado enesta pregunta.

Tenga en cuenta que soy consciente de que usareval ystr2func a menudo es una mala práctica[1][2] (como se menciona en los comentarios).

Respuestas a la pregunta(2)

Su respuesta a la pregunta