matlab says the inline function will be removed in future release how should i execute a string function like '2*x.^2+5'

12 vues (au cours des 30 derniers jours)
function
  1 commentaire
Stephen23
Stephen23 le 20 Juin 2017
When you read the inline documentation the very first line of text says:
inline will be removed in a future release. Use Anonymous Functions instead.
How about using anonymous functions, just like the documentation recommends?

Connectez-vous pour commenter.

Réponse acceptée

Star Strider
Star Strider le 20 Juin 2017
Your function becomes:
fcn = @(x) 2*x.^2+5;
the call it as you would any other function:
y = fcn(x);
To convert a string to a function, use the str2func (link) function:
str = '2*x.^2+5';
fun = str2func(['@(x) ',str]);
y = fun(x);
This creates the anonymous function from the string, and returns a function handle.
  6 commentaires
Steven Lord
Steven Lord le 21 Juin 2017
Use the symvar function to identify the variable(s) and use the char vector it returns in defining the char vector you pass into str2func.
Alfonso Rodriguez
Alfonso Rodriguez le 29 Juin 2021
Thanks for these comments. They are very useful for computational math.

Connectez-vous pour commenter.

Plus de réponses (1)

Andrei Bobrov
Andrei Bobrov le 21 Juin 2017
syms y
f = matlabFunction(2*y^2+3);

Catégories

En savoir plus sur Function Creation dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by