Pagina 1 di 1

Funzione di Trasferimento in MatLab

Inviato: 21 lug 2009, 20:25
da ciccio
Salve,

Volevo gentilmente sapere come risolvere il seguente problema. Ho 2 funzioni di trasferimento di cui 1 con ritardo ed una senza. La f.d.t. sulla catena aperta è quella con ritardo [P=(e^(2*s))/(s-1)]. Quest'ultima viene chiusa in reazione negativa su cui è presente la f.d.t. senza ritardo (B=1+0.5*s). Ora, poiché il mio scopo è trovare la f.d.t. in catena chiusa si applica semplicemente la seguente formula: C=P/(1+P*B). Purtroppo però MatLab, mentre calcola C trova un errore in quanto dice che per eseguire la somma di due sistemi (sys1+sys2) si deve avere lo stesso ritardo per entrambi i sistemi.

Ho provato anche a calcolare C a "pezzi" ma il problema sussiste.

Come si può risolvere il problema o aggirare questo ostacolo?

Grazie anticipatamente per le risposte.

Re: Funzione di Trasferimento in MatLab

Inviato: 31 lug 2009, 22:49
da EdmondDantes
Ciao,
spero poter essere ancora utile...
Prova a scrivere queste righe di istruzioni su un M-file o direttamente nel Command Window:

Codice: Seleziona tutto

syms s t
A=ilaplace(exp(2*s)/(s-1));
B=ilaplace(1+0.5*s);
P=laplace(A);
Q=laplace(B);
C=P/(1+P*Q)


Fammi sapere.
Ciao

Re: Funzione di Trasferimento in MatLab

Inviato: 1 ago 2009, 0:43
da EdmondDantes
Il precedente è sicuramente errato.
Prova così:

Codice: Seleziona tutto

syms s
P=(exp(2*s))/(s-1);
B=1+0.5*s;
C=P/1+P*B


In questo modo utilizzi il calcolo simbolico, ma credo che non risolva il tuo problema.

Re: Funzione di Trasferimento in MatLab

Inviato: 5 ott 2009, 0:12
da elettrofiorentino
il consiglio che ti posso dare (per esperienza diretta) è quello di approssimare l'elemento di ritardo mediante le epprossimanti di pade ed ottenere una funzione di trasferimento razionale; altrementi utilizzi il calcolo simbolico di matlab e definisci le variabili in gioco