Costruire il diagramma di Nyquist con Matlab
Come costruire il diagramma di Nyquist con matlab. il codice da scrivere ed un esempio esplicativo
La rappresentazione esatta del diagramma di Nyquist richiede l'utilizzo di un programma di calcolo come Matlab. Per la rappresentazione esatta del diagramma infatti bisogna conoscere modulo e fase della f.d.T. per tutte le pulsazioni nel range di interesse (in generale dall'infinito positivo all'infinito negativo).
Affinchè il programma realizzi il diagramma di Nyquist è sufficiente scrivere
num = [a1 a2 a3 ... aN]; den = [b1 b2 b3 ... bN]; tf(num,den); nyquist(num, den); |
Le prime due righe di codice definiscono i vettori num e den. I termini a1... aN e b1... bN sono rispettivamente i coefficienti del polinomio a numeratore e di quello a denominatore.
es: 5s^3 + 4s^2 + 10 si scrive come [5 4 0 10]
Qual'ora la f.d.T. fosse espessa nella forma di Bode (ovvero come prodotto di polinomi) è più conveniente definire i vettori num e den per mezzo della funzione conv.
es: (s+5)(s+3) si scrive come conv([1 5], [1 3])
La funzione tf(num,den) mi permette di visualizzare la f.d.T. inserita, in questo modo posso controllare che non ci siano stati errori nell'inserimento. Qual'ora la f.d.T. fosse espressa nella forma di Bode conviene sostituire la funzione precedente con zpk(tf(num,den))
La funzione nyquist(num,den) grafica il diagramma di Nyquist della f.d.t. inserita
Nota: la funzione nyquist() presente in tutte le versioni di Matlab non rappresenta adeguatamente le f.d.t. con poli a parte reale nulla. Funzioni quindi con poli sull'asse immaginario e/o nell'origine non sono graficate correttamente. Per questo motivo sono state implementate due nuove versioni di questa funzione nyquist1 e lnyquist1 che vanno salvate come file .m e caricate nella cartella works di Matlab
Esempio
Vogliamo disegnare il diagramma di Bode della f.d.T.
Scriviamo:
>> num=conv(10,[1 100]);
>> den=conv([1 0],[1 10]);
>> zpk(tf(num,den))
Zero/pole/gain:
10 (s+100)
----------
s (s+10)
>> nyquist(num,den);
Otterremo questo diagramma
Come possiamo notare il polo nell'origine non viene proprio preso in considerazione. Di seguito i diagrammi forniti dalle funzioni nyquist1 e lnyquist1. Quest'ultima utilizza per il modulo una scala logaritmica espandendo il diagramma nell'intorno della singolarità a parte reale nulla.