📄 stepresp.m
字号:
function f = stepresp(x, a, b, c,d,M1)%STEPRESP computes the step response of an analog filter with any number of pole pairs.%% This function takes four arguments:% x is time% a are the real values of the poles% b are imaginary values of the poles% c are the real values of the zeros% c are imaginary values of the zeros% M1 scales the step responseexpr1 = b(1).^(-1);expr2 = a(2).^2 + b(2).^2;expr3 = ((a(1) - a(2)).^2 + (b(1) - b(2)).^2).*((a(1) - a(2)).^2 + (b(1) + b(2)).^2);expr4 = -1./2;expr5 = b(1).*cos(angle(1 + (i.*(b(1) - b(2)))./(a(1) - a(2))) + angle(1 + (i.*(b(1) + b(2)))./(a(1) - a(2))));expr6 = a(1).*sin(angle(1 + (i.*(b(1) - b(2)))./(a(1) - a(2))) + angle(1 + (i.*(b(1) + b(2)))./(a(1) - a(2))));expr7 = exp(x.*a(1));expr8 = cos(x.*b(1));expr9 = a(1);expr10 = a(1).^2 + b(1).^2;expr11 = sin(angle(1 + (i.*(b(1) - b(2)))./(a(1) - a(2))) + angle(1 + (i.*(b(1) + b(2)))./(a(1) - a(2))));expr12 = sin(x.*b(1));expr13 = b(2).^(-1);expr14 = ((-a(1) + a(2)).^2 + (-b(1) + b(2)).^2).*((-a(1) + a(2)).^2 + (b(1) + b(2)).^2);expr15 = b(2).*cos(angle(1 + (i.*(-b(1) + b(2)))./(-a(1) + a(2))) + angle(1 + (i.*(b(1) + b(2)))./(-a(1) + a(2))));expr16 = a(2).*sin(angle(1 + (i.*(-b(1) + b(2)))./(-a(1) + a(2))) + angle(1 + (i.*(b(1) + b(2)))./(-a(1) + a(2))));expr17 = exp(x.*a(2));expr18 = cos(x.*b(2));expr19 = a(2);expr20 = sin(angle(1 + (i.*(-b(1) + b(2)))./(-a(1) + a(2))) + angle(1 + (i.*(b(1) + b(2)))./(-a(1) + a(2))));expr21 = sin(x.*b(2));expr22 = expr10.*expr13.*expr14.^expr4.*(expr15 + expr16).*(1 - expr17.*(expr18 - expr13.*(expr19 - (expr2.*expr20)./(expr15 + expr16)).*expr21));expr23 = expr1.*expr2.*expr3.^expr4.*(expr5 + expr6).*(1 - expr7.*(expr8 - expr1.*expr12.*(-((expr10.*expr11)./(expr5 + expr6)) + expr9)));expr24 = expr22 + expr23;f = M1.*expr24;end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -