Pagina 1 di 1

e^-s in matlab in una TF

MessaggioInviato: 31 mar 2009, 17:37
da minidiable
Vorrei implementare una funzione di trasferimento in matlab...e normalmente faccio così...

>> sys=tf([3 2 1],[1 0 2])

Transfer function:
3 s^2 + 2 s + 1
---------------
s^2 + 2

>>
però il mio problema è che ora vorrei affiancare a questa funzione un ritardo, ovvero vorrei moltiplicarla per

e^(-2*s)


Come si fa???

Re: e^-s in matlab in una TF

MessaggioInviato: 2 apr 2009, 12:28
da rini
non so se è quello che cerchi però in questo modo dovrebbe funzionare!

s = tf('s');
g1 = (3*s^2 + 2*s + 1) / (s^2 + 2);
g2 = exp(-2*s);
G = g1*g2

ciao...

Re: e^-s in matlab in una TF

MessaggioInviato: 4 apr 2009, 18:17
da minidiable
mi da questo errore....


>> s= tf('s');
g1 = (3*s^2 + 2*s + 1) / (s^2 + 2);
g2 = exp(-2*s);
G = g1*g2
??? Error using ==> exp
Function 'exp' is not defined for values of class 'tf'.

Re: e^-s in matlab in una TF

MessaggioInviato: 4 apr 2009, 20:53
da rini
che versione del matlab usi?
io sto usando la 7.7.0 la R2008b e ti assicuro che non mi da nessun errore.

Re: e^-s in matlab in una TF

MessaggioInviato: 15 apr 2009, 12:42
da minidiable
uso la 6.5......


aiutoooooooo

Re: e^-s in matlab in una TF

MessaggioInviato: 21 apr 2009, 17:23
da batista1987
conosci gli approssimanti di padè?? ti permettono di approssimare una funzione trascendente in una razionale fratta..

Re: e^-s in matlab in una TF

MessaggioInviato: 25 apr 2009, 12:19
da minidiable
non c'è un modo normale e non approssimato???

Re: e^-s in matlab in una TF

MessaggioInviato: 25 apr 2009, 15:27
da RenzoDF
minidiable ha scritto:Vorrei implementare una funzione di trasferimento in matlab...e normalmente faccio così...
>> sys=tf([3 2 1],[1 0 2])
Transfer function:
3 s^2 + 2 s + 1
---------------
s^2 + 2

però il mio problema è che ora vorrei affiancare a questa funzione un ritardo, ovvero vorrei moltiplicarla per
e^(-2*s)


Anticamente, si usava fare così 8)

Tdelay=2; num1=[3 2 1]; den1=[1 0 2];

H1=tf(num1,den1,'InputDelay',Tdelay);

o no :-k

Re: e^-s in matlab in una TF

MessaggioInviato: 26 apr 2009, 19:03
da rini
Per RenzoDF:
non credo che la sua soluzione possa andare bene, perché gli argomenti della funzione di matlab tf sono al massimo 3, ed in questi argomenti non risulta nessun argomento per l'aggiunta di un ritardo finito.
fonte della mia sentenza: http://www.mathworks.com/access/helpdesk/help/toolbox/control/index.html?/access/helpdesk/help/toolbox/control/ref/tf.html

Per minidiable:
Prova a fare così

s = tf('s');
g1 = (3*s^2 + 2*s + 1) / (s^2 + 2);
g1.OutputDelay = 2
bode(g1)

...dimmi come va a finire

Re: e^-s in matlab in una TF

MessaggioInviato: 26 apr 2009, 19:24
da RenzoDF