recognize function from string

Is there a way in Matlab to recognize the variables and parametest of function from sting. For example I have a string: "a1*x+a2*x^2+y", and necessary to get a function where a1,a2 - constants and x, y - variables.

 Accepted Answer

Not that I am aware of.
The closest you can get to what you want to do (in this example of a polynomial) is the Symbolic Math Toolbox coeffs function, and even then you have tell it what the variables are:
syms a1 a2 x y
z = a1*x+a2*x^2+y;
[coefficients,variables] = coeffs(z, [x y])
coefficients =
[ a2, a1, 1]
variables =
[ x^2, x, y]

2 Comments

Zak Kankin
Zak Kankin on 25 Mar 2017
Edited: Zak Kankin on 25 Mar 2017
Thanks! It works great for string in exactly if I want! '[coefficients,variables] = coeffs('a1*x+a2*x^2+y', [x y])'
coefficients = [ a2, a1, 1] variables = [ x^2, x, y]
My pleasure!

Sign in to comment.

More Answers (0)

Categories

Community Treasure Hunt

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

Start Hunting!