2011-05-27 2 views
2

J'ai une équation caractéristique d'un système de temporisation et je ne peux pas le définir avec la commande StateSpaceModel ou TransferFunctionModel dans Mathematica; Parce que ces commandes ne fonctionnent que pour les systèmes linéaires sans délai.définir un système temporisées linéaire dans Mathematica et tracer son diagrammes de Bode et Nyquist

Mon but est de définir un système temporisées dans Mathematica 8.0.1 et de traçage Bode Diagram et Nyquist Diagram pour un système comme celui-ci:

g = ((s + 1) (1-E^(-2 s) + E^(-3 s)))/(s^2 + 2 s + 10) 

Répondre

0

A en juger par la documentation, il semble MMA attend des fonctions de transfert être polynomial. La page de doc pour TransferFunctionModel dit:

Dans TransferFunctionModel [{num, den}, var] num doit être une matrice polynomiale et den peut être spécifié comme une matrice polynôme ou juste le dénominateur commun polynôme .

Tous les exemples que j'ai vus ont des polynômes dans le nominateur et le dénominateur.

Le bodeplot de Matlab ne fait pas non plus de retards de temps purs.

On entend parfois la suggestion d'utiliser une approximation de Padé de l'exponentielle. Cela pourrait être fait avec la fonction mma PadeApproximant.

enter image description here

Toutefois, cela semble être valable que pour des fréquences assez basses (les 180 premiers degrés de changement de phase ou plus) comme indiqué here.

+0

Je sais que, quelle est votre suggestion pour tracer _Bode_ et _Nyquist_ diagramme de mon problème. – Jalil

+0

Je ne veux pas utiliser la méthode d'approximation _Pade_.Je pense que je devrais écrire un code et une substitution 'g /. {S-> jw}' et calculer _Magnitude_ et _Phase_ de la valeur complexe de g, puis tracer _Magnitude_ et _Phase_ respect à 'w' pour _Bode Plot_ et pour _Nyquist Diagram_ calculez la partie réelle et imaginaire de' g /. {s-> jw} 'et ensuite triez la partie imaginaire par rapport à la partie réelle pour une plage de fréquence (w). – Jalil

Questions connexes