Different Bode Plots from Same Function
14 次查看(过去 30 天)
显示 更早的评论
Hello there,
I am quite confused as to why there are two bode plots being produced for this function. In the code, estimated_ntf4 has an extra pole and zero in the numerator and denominator while estimated_ntf3 does not, but they are essentially the same function. These two lines produce drastically different Bode Plots despite being the same function. Is this an issue with the bode plot function with Matlab?
diff = tf([1 -1], [1 0], 1);
diff.Variable = 'z^-1';
lf.num = tf([.28125 .6875 .03125 0], [1 0 0 0 0], 1);
lf.den = tf([1 -2 1], [1 0 0],1);
lf.num.Variable = 'z^-1';
lf.den.Variable = 'z^-1';
lf.tf = (lf.num)/(lf.den);
estimated_ntf3 = (diff)^2/(diff+lf.num); % Produces CORRECT bode plot
estimated_ntf4 = (diff*lf.den)/(lf.den+diff*lf.num); % Produces WRONG bode plot
figure; bode(estimated_ntf3)
figure; bode(estimated_ntf4)
0 个评论
回答(1 个)
Sam Chak
2023-4-16
It seems that they are not exactly the same from the mathematical perspective.
format long g
estimated_ntf3 = (diff)^2/(diff+lf.num) % Produces CORRECT bode plot
estimated_ntf4 = (diff*lf.den)/(lf.den+diff*lf.num) % Produces WRONG bode plot
z3 = zero(estimated_ntf3)
p3 = pole(estimated_ntf3)
z4 = zero(estimated_ntf4)
p4 = pole(estimated_ntf4)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Plot Customization 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

