Why are G1 and G2 outputs different?

조회 수: 4 (최근 30일)
宏伟 张
宏伟 张 2024년 4월 29일
답변: 宏伟 张 2024년 4월 29일
clear
clc
Ts=0.0001;
kc=9000;
w0=400*2*pi;
z=tf('z',Ts);
QZ=(0.25+0.5*z^(-1)+0.25*z^(-2));
m=2;
kr=1;
RCZ=(kr*QZ*z^(-199+m)/(1-QZ*z^(-199)));
PI=(w0^2*(Ts*z)/(z-1)+2*w0);
Grc=((1+RCZ)*PI);
U1Y2=((z-1)*Grc)/(z-1+Ts*Grc);
U1Y1=kc*(Grc*Ts)/(z-1+Ts*Grc);
Gbot1=U1Y1+U1Y2
Gbot2=(((z-1)*Grc)+kc*(Grc*Ts))/(z-1+Ts*Grc)

답변 (2개)

VBBV
VBBV 2024년 4월 29일
편집: VBBV 2024년 4월 29일
The order of mathematical operations in evaluating G1 and G2 are different. In case of G1 , individual terms are evaluated first and then added. In case if G2 , the numerator terms are added first and later divided by common denominator expression. You can try to use simplify function to verify that both results are essentially same.
  댓글 수: 1
宏伟 张
宏伟 张 2024년 4월 29일
Thanks,"Gbot3=(z*Grc-Grc+kc*Grc*Ts)/(z-1+Ts*Grc)" is correct!

댓글을 달려면 로그인하십시오.


宏伟 张
宏伟 张 2024년 4월 29일
clear
clc
Ts=0.0001;
kc=9000;
w0=400*2*pi;
z=tf('z',Ts);
QZ=(0.25+0.5*z^(-1)+0.25*z^(-2));
m=2;
kr=1;
RCZ=(kr*QZ*z^(-199+m)/(1-QZ*z^(-199)));
PI=(w0^2*(Ts*z)/(z-1)+2*w0);
Grc=((1+RCZ)*PI);
U1Y2=((z-1)*Grc)/(z-1+Ts*Grc);
U1Y1=kc*(Grc*Ts)/(z-1+Ts*Grc);
Gbot3=(z*Grc-Grc+kc*Grc*Ts)/(z-1+Ts*Grc)

제품


릴리스

R2022a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by