Symplify symbolic expression instead of outputting very large denominator values
Mostra commenti meno recenti
Hello,
In this code:
z = 1;
Q = z^2 -1.368*z + 0.368 + 0.368*k*z + 0.264*k
I get the answer as:
Q =
(79*k)/125 - 1/9007199254740992
Is it possible to leave the final equation like this form:
Q = 0.632*k
Thanks.
Risposte (1)
Star Strider
il 3 Giu 2017
Use the vpa function:
Q = vpa(Q,4)
Q =
0.632*k
3 Commenti
monkey_matlab
il 3 Giu 2017
Modificato: monkey_matlab
il 3 Giu 2017
Star Strider
il 3 Giu 2017
The imaginary part is essentially 0.
The only option that works is to use the children function:
syms k
Q = (79*k)/125 - 1/9007199254740992;
Q = children(Q);
Q = vpa(Q(1),4)
Q =
0.632*k
Walter Roberson
il 3 Giu 2017
That is not imaginary part, that is due to round-off and representation issues.
Take each of your numbers and wrap them with sym() with 'd' option. Like instead 0.368 code sym(0.368,'d')
Categorie
Scopri di più su Symbolic Math Toolbox in Centro assistenza e File Exchange
Prodotti
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!