matlab says the inline function will be removed in future release how should i execute a string function like '2*x.^2+5'
26 views (last 30 days)
Show older comments
function
1 Comment
Stephen23
on 20 Jun 2017
How about using anonymous functions, just like the documentation recommends?
Accepted Answer
Star Strider
on 20 Jun 2017
Your function becomes:
fcn = @(x) 2*x.^2+5;
the call it as you would any other function:
y = fcn(x);
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 Comments
Steven Lord
on 21 Jun 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
on 29 Jun 2021
Thanks for these comments. They are very useful for computational math.
More Answers (1)
See Also
Categories
Find more on Function Creation in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!