采用MATLAB编写程序,带滞后的传递函数,怎么实现?不要SIMULINK,只要函数。急急急急!!

2024-12-15 11:10:02
推荐回答(3个)
回答1:

这是我编的一个小程序,你可以参考参考。
%%%% 传递函数 %%%%
sys=tf([0 50],[1000,1],'inputdelay',100);
%%% 对传递函数进行离散化 %%%%
dsys=c2d(sys,ts,'zoh'); %%%% dsys为离散化得到的方程 %%%%
[num,den]=tfdata(dsys,'v'); %%%% num 为分子系数,den 为分母系数 %%%%
%%%% 设定初值y,由于滞后,故y的输出在刚开始有输入的滞后时间内为零 %%%%%

for k=1:101
y(k)=0;
end
%%%% 输入 u 为一组伪随机数 %%%%%%
。。。。。。。。随机序列可以自己用想用。。。。。
接下来弄一个循环:每一个y(k)就可以的得到
y(k+101)=-den(2)*y11(k+100)+num(2)*u(k);
希望对你有帮助。

回答2:

tf([50*exp(-100)],[1000 1])

回答3:

tf([50],[1000 1],'inputdelay',100)