2010-11-21 5 views
1

J'ai une expression compliquée H qui est dérivée de plusieurs autre étape intermédiaire compliquée. Je veux obtenir le [N D] = numden (H).Les fonctions de simplification de MATLAB se divisent par des facteurs communs problème

Le problème est que les expressions H, N et D ne sont pas "évaluées" et qu'elles ne sont pas non plus simplifiées et divisées par des facteurs communs.

J'utilise syms x.

Par exemple, je reçois

H = (27 + 81 * (x^2-987605098534947/1125899906842624 * x -...

C'est tellement fou .. mais il est clair,

H = (27 + 81 * (x^2 à 0,8772 * x -...

comment puis-je obtenir pour évaluer la forme la plus simple?

Merci à l'avance!

EDIT: Je trouve le plus proche pari utilise VPA

+0

C'est une utilisation intéressante de [VPA] (http://www.mathworks.com/help/toolbox/symbolic/vpa.html) qui n'est pas vraiment abordée dans la documentation. Je suggère d'ajouter la solution que vous avez trouvée comme réponse et de la marquer comme acceptée. – gnovice

Répondre

1

Ma solution:

  1. [den num] = numden (H)
  2. num = VPA (num, 4); den = vpa (den, 4);
  3. H = num/den;
  4. répétez de 1 jusqu'à ce que num et den désirés soient obtenus.
+0

Au lieu de répéter ce qui précède plusieurs fois, vous pourriez obtenir de meilleurs résultats avec cette ligne: '[num, den] = numden (vpa (H, 4));' – gnovice

Questions connexes