2016-02-08 7 views
5

Qui v'è una continua funzione di trasferimento tempo (G(s)) in forma di:Scomponendo il numeratore e polinomi denominatore nelle loro parti pari e dispari

G(s) = N(s)/D(s); 
G(s) = (s^3+4s^2-s+1)/(s^5+2s^4+32s^3+14s^2-4s+50)  (1) 

e (s = j*w) dove w = frequency symbol.

Ora, come è possibile per decomporre il numeratore e il denominatore polinomi di Eq. (1) nelle loro parti pari e dispari e di ottenere il G(jw) come (Utilizzo di Matlab):

enter image description here

+0

Questa non è, in realtà, una domanda di programmazione. –

+1

È possibile definire la funzione di trasferimento G in questo modo: 's = tf ('s') ; G = (s^3 + 4 * s^2-s + 1)/(s^5 + 2 * s^4 + 32 * s^3 + 14 * s^2-4 * s + 50); '. '[p, z] = pzmap (G)' ti dà i poli e gli zeri. Questo aiuta? –

+0

Sfortunatamente No. Questo metodo fornisce solo i poli e gli zeri della funzione di trasferimento della forma Z.Ne, No, De e Do sono importanti per me (in relazione al quadrato W). – salam

risposta

5

Si potrebbe probabilmente prendere le parti reale e immaginaria, dopo la sostituzione con s=j*w. Tuttavia, si può effettivamente selezionare le parti pari e dispari dei vostri polinomi:

% G(s) = N(s)/D(s); 

syms s; 
N = s^3+4*s^2-s+1; 

p = sym2poly(N); 

%// do this in fewer lines: 
%{ 
/* 
if mod(length(p),2)==0 %// then first index is odd 
    imin_o = 1; %// for odd part 
    imin_e = 2; %// for even part 
else 
    imin_o = 2; %// for odd part 
    imin_e = 1; %// for even part 
end 
*/ 
%} 
imin_o = mod(length(p),2) + 1; 
imin_e = 2 - mod(length(p),2); 

% odd part of numerator 
p_o = zeros(size(p)); 
p_o(imin_o:2:end) = p(imin_o:2:end); 
% even part of numerator 
p_e = zeros(size(p)); 
p_e(imin_e:2:end) = p(imin_e:2:end); 

% restore 
N_o = poly2sym(p_o,s); 
N_e = poly2sym(p_e,s); 

e lo stesso per il denominatore.

+0

Caro Deak, è possibile risolvere questo problema anche per s = j * w? – Thomas

+0

@Thomas che ne dici di sostituire 's = jw' nel risultato? :) Ad ogni modo, se' w' è reale, come al solito, allora 'N_e' è semplicemente' reale (N) 'e' N_o' è 'imag (N)/w' se non mi sbaglio. –

+1

Bel lavoro Deak. +1. – rayryeng

Problemi correlati