recognize function from string

6 次查看(过去 30 天)
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.

采纳的回答

Star Strider
Star Strider 2017-3-25
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 个评论
Zak Kankin
Zak Kankin 2017-3-25
编辑:Zak Kankin 2017-3-25
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]

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Characters and Strings 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by