How can I remove parentheses in a symbolic expression and perform the operations for the coefficients?

7 次查看(过去 30 天)
I cannot use parentheses and / operations in my code because PHClab can't interpret them. So I need to remove them. How can I make it? For example I have
x2/24 - x1/6 + (x1*x4)/8 + (2*x3)/15 - (11*x4)/120 - x5/14 + (5*x6)/56 + x7/2 - x8 + x9
and I need
0.04167*x2 - 0.1667*x1 + 0.125*x1*x4 + ... + x9
Thank you
  2 个评论
Zoltán Csáti
Zoltán Csáti 2014-3-15
Perhaps, but I can only remove the brackets if I convert the symbolic expression to a character array. I removed the parentheses so I got:
x2/24 - x1/6 + x1*x4/8 + 2*x3/15 - 11*x4/120 - x5/14 + 5*x6/56 + x7/2 - x8 + x9
What should I do next? How can I get from x2/24 to 0.04167*x2 ?

请先登录,再进行评论。

采纳的回答

Mischa Kim
Mischa Kim 2014-3-15
编辑:Mischa Kim 2014-3-15
Zoltán, use the vpa command:
syms x2 x1 x4 x3
f = x2/24 - x1/6 + x1*x4/8 + 2*x3/15
f =
x2/24 - x1/6 + (2*x3)/15 + (x1*x4)/8
vpa(f,5) % the "5" denotes the number of significant digits
ans =
0.041667*x2 - 0.16667*x1 + 0.13333*x3 + 0.125*x1*x4
  3 个评论
Zoltán Csáti
Zoltán Csáti 2014-3-15
编辑:Zoltán Csáti 2014-3-15
...except one thing. some of the coefficients have the form:
1.0760050095961908208164032839825*10^(-82)
So vpa works well, but how can I turn from the scientific notation to the the standard notation (so that it does not contain parentheses)? 1.0760050095961908208164032839825e-82 would be correct.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Numbers and Precision 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by