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

6 Ansichten (letzte 30 Tage)
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 Kommentare
Zoltán Csáti
Zoltán Csáti am 15 Mär. 2014
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 ?

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Mischa Kim
Mischa Kim am 15 Mär. 2014
Bearbeitet: Mischa Kim am 15 Mär. 2014
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 Kommentare
Zoltán Csáti
Zoltán Csáti am 15 Mär. 2014
Bearbeitet: Zoltán Csáti am 15 Mär. 2014
...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.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by