2017-04-23 3 views
1

J'ai créé la même fonction de transfert discrète dans deux modes différents. Ensuite, je les ai simulés contre la même entrée. Pourquoi les résultats sont-ils différents? Quelle est la différence entre les deux?Simulations de fonctions de transfert discrètes avec différents résultats

code:

close all;clear;clc; 
Ts=0.001; 
t = 0:Ts:10; 
%input 
u=rand(length(t),1); 
%1st TF 
test_tf=c2d(tf([8 18 32],[1 6 14 24]),Ts); 
y=lsim(test_tf,u,t); 
%2nd TF 
test_d_tf=tf([0.007985 -0.01595 0.007967],[1 -2.994 2.988 -0.994],Ts); 
y_d=lsim(test_d_tf,u,t); 
%plotting 
plot(t,u,'k:',t,y,'b-',t,y_d,'r--'); 

Et leurs résultats sont les suivants:

intervalle de simulation complet:

entire simulation interval

et ZOOM SUR:

zoomed

Répondre

0

Ma conjecture est parce que les TFS ne sont pas en fait le même, ils regardent seulement à cause de la mise en forme:

>>format long 
>>test_d_tf.Numerator{1} 
ans = 
    0 0.007985000000000 -0.015950000000000 0.007967000000000 
>> test_tf.Numerator{1} 

ans = 
    0 0.007985016651180 -0.015952055311304 0.007967070564278 
+0

Oui, vous avez raison. Merci beaucoup. – mgc8cgm