Diagrammi asintotici di Bode con Matlab
Sto preparando l'esame di Controlli Automatici L-A e tra i vari esercizi c'è anche quello di tracciare un diagramma di Bode di una f.d.t.

Certo non sarebbe male potere avere qualche aiutino da matlab, anche se il programma non disegna un diagramma asintotico ma quello reale. Per questo ci viene incontro questo script che ho trovato sul sito di un docente dell'Università di Cagliari. Il funzionamento è molto semplice:
ASBODE : traccia il diagramma asintotico di Bode
****************************************************************## SYNTAX ##
ASBODE(NUM,DEN)
Traccia il diagramma di Bode di una funzione di trasferimentoW(s) = NUM / DEN
e scrive sullo schermo i termini che compongono la fattorizzazione di Bode della W(s).
Il vettore
NUM = [ b_m b_{m-1} ... b_1 b_0 ]
contiene i coefficienti del polinomio al numeratore mentre il vettore
DEN = [ a_n a_{n-1} ... a_1 a_0 ]
contiene i coefficienti del polinomio al denominatore della W(s).I diagrammi asintotici dei singoli termini sono tracciati in diversi colori,il diagramma asintotico complessivo e' tracciato con una linea nera spessa,il diagramma reale complessivo e' tracciato con una linea gialla spessa. Le scale e il vettore delle frequenze sono scelti automaticamente.
Ho provato questo script e devo dire che funziona veramente bene...peccato non averlo durante l'esame!!

Hendrik Wade Bode: lo scienziato che invenò i diagrammi. Sembra che sia piuttosto arrabbiato...forse ha scoperto che noi disegnamo i diagrammi con il PC mentre a lui toccava di farli a mano!! 
Nessun post simile.
luglio 24th, 2008 - 16:52
sarò cretino ma non ho capito come fare, potresti farrmi un’esempio di diagramma di bode asintotico di una funzione con due poli?
grazie
luglio 14th, 2010 - 14:20
Non so se ti serve ancora ma per prima cosa devi copiare il file dentro la cartella di matlab preferibilmente creando una sottocartella della cartella “toolbox”, io l’ho chiamata “asbode”. Quindi avrai [percorso mathlab]\toolbox\asbode\asbode.m
A questo punto vai sul menu di mathlab (menu file di solito) e selezioni “imposta percorsi” (set path). A questo punto fai “add folder”, selezioni la cartella appena creata (asbode) poi __salvi__ e chiudi.
A questo punto puoi usare la funzione, ma siccome io ho la funzione di trasf. scritta in termini di componenti elementari mentre “asbode” lavora con i coefficienti io faccio così:
>> s=tf(‘s’
Transfer function:
s
>> G1=1000*(s+1)*(s+50)/(s*((s+10)^2)*(s+100))
Transfer function:
1000 s^2 + 51000 s + 50000
———————————-
s^4 + 120 s^3 + 2100 s^2 + 10000 s
>> asbode([1000 51000 50000],[1 120 2100 10000 0])
Spero di essere stato utile. Ciao.
aprile 23rd, 2009 - 14:22
grazie! utilissimo! sei un grande!
luglio 14th, 2010 - 14:13
Molto utile! Grazie
settembre 8th, 2010 - 13:27
Ciao, scusami ma non sono una cima con Matlab; io se uso questa funzione ricevo il seguente errore (qualsiasi argomenti inserisca per num e den):
“Undefined function or method ‘asbode’ for input arguments of type ‘double’”
Potresti spiegarmi dove sbaglio? Fornisco il comando, ad esempio, in questo modo:
“asbode([1],[4 4 4 2])”
Grazie mille