Operate coefficients in Symbolic expressions

1 vue (au cours des 30 derniers jours)
Ignacio Fidalgo
Ignacio Fidalgo le 18 Mai 2020
Commenté : Walter Roberson le 18 Mai 2020
Hi,
I would like to know how to operate the coefficients in a symbolic expression.
Thanks!
Example:
syms s k kc
G_s=k/(s^3+6*s^2+10*s);
D_s=kc*(s+2)/(s+9.067);
t_s=(G_s*D_s)/(1+G_s*D_s);
vpa(simplify(t_s),5)
Result:
Desired result:

Réponses (1)

Ameer Hamza
Ameer Hamza le 18 Mai 2020
Maybe there is an easy option, but something like this will work
syms s k kc
G_s=k/(s^3+6*s^2+10*s);
D_s=kc*(s+2)/(s+9.067);
t_s=(G_s*D_s)/(1+G_s*D_s);
[n,d] = numden(t_s);
a = gcd(coeffs(n));
vpa(simplify((n/a)/(d/a)))
  2 commentaires
Ignacio Fidalgo
Ignacio Fidalgo le 18 Mai 2020
Thank you very much for your answer, but as you've said, i'm looking for an easier option. Maybe one already implemented in matlab, since this is a very simple example but it can get harder.
Walter Roberson
Walter Roberson le 18 Mai 2020
There is no method implemented in MATLAB for this purpose. You are fighting against the internal rules for representation of ratios.
You could probably replace the last line with
vpa(n/a)/vpa(d/a)

Connectez-vous pour commenter.

Catégories

En savoir plus sur Symbolic Math Toolbox dans Help Center et File Exchange

Tags

Produits


Version

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by