recognize function from string

6 views (last 30 days)
Zak Kankin
Zak Kankin on 25 Mar 2017
Commented: Star Strider on 25 Mar 2017
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

Star Strider
Star Strider on 25 Mar 2017
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]

Sign in to comment.

More Answers (0)

Categories

Find more on Characters and Strings 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!