概述
%%-------传递函数离散化------
num=[2];
den=[1 2.6 2];
sys=tf(num,den);
ts=0.02;
dsys=c2d(sys,ts,'method');
[num1,den1]=tfdata(dsys,'v');
%%-------离散化分子分母转换为C语言程序使用------
%%-------+Y/U=(0.000389z-0.000389)/(z^2-1.9448z+0.9455)--
%%-------分子分母除以z^2=>(0.000389z^-1-0.000389z^-2)/(1-1.9448z^-1+0.9455z^-2)--
%%-------y(2)=1.9448y(1)+0.9455y(0)+0.000389x(1)-0.000389x(0);
global output_forml1;
global output_forml;
output_forml1=0;
output_forml=0;
%%-----阶跃响应验证
y(1)=0;y(2)=0;
x=linspace(1, 1, 400);
for i=3:1:400
y(i-2)=output_forml1;
y(i-1)=output_forml;
y(i)=-den1(2)*y(i-1)-den1(3)*y(i-2)+num1(2)*x(i-1)+num1(3)*x(i-2);
output_forml=y(i);
output_forml1=y(i-1);
end
plot(y)
plot(y)如下:
传递函数下的曲线:
最后
以上就是深情野狼为你收集整理的使用MATLAB传递函数离散化为Z函数并验证的全部内容,希望文章能够帮你解决使用MATLAB传递函数离散化为Z函数并验证所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复