Anche per il diagramma di Nichols esatto è necessario utlizzare un programma di calcolo come Matlab
Calendario scolastico 2022-23
Che succede in Iran? La spiegazione facile|Ponti 2023| I promessi sposi| Podcast| Mappe concettuali| Date maturità 2023| Tema sul ritorno alla normalità dopo il coronavirus| Temi svolti|Riassunti dei libri
Come nel caso del diagramma di Bode, anche per il diagramma di Nichols esatto è necessario utlizzare un programma di calcolo come Matlab. Per la rappresentazione esatta del diagramma bisogna conoscere modulo e fase della f.d.T. per tutte le pulsazioni nel range di interesse.
Affinchè il programma realizzi il diagramma di Nichols è sufficiente scrivere:
num = [a1 a2 a3 ... aN]; den = [b1 b2 b3 ... bN]; tf(num,den); nichols(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 nichols(num,den) grafica il diagramma di Nichols della f.d.t. inserita
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)
>> nichols(num,den);
Otterremo questo diagramma
