采用MATLAB编写程序,带滞后的传递函数,怎么实现?不要SIMULINK,只要函数。急急急急!!
传递函数为G(s)=50*e^(-100)/(1000s+1)谢谢哈传递函数为G(s)=50*e^(-100s)/(1000s+1),一楼的高手,我对不起你,我忘了加个S...
传递函数为G(s)=50*e^(-100)/(1000s+1)
谢谢哈
传递函数为G(s)=50*e^(-100s)/(1000s+1),一楼的高手,我对不起你,我忘了加个S了。。。。这是个纯滞后的函数。最好能编成可以将一组M序列作为输入的形式,也就是说,最好能编成差分的形式。万分的感谢!!!! 展开
谢谢哈
传递函数为G(s)=50*e^(-100s)/(1000s+1),一楼的高手,我对不起你,我忘了加个S了。。。。这是个纯滞后的函数。最好能编成可以将一组M序列作为输入的形式,也就是说,最好能编成差分的形式。万分的感谢!!!! 展开
2011-04-29
展开全部
这是我编的一个小程序,你可以参考参考。
%%%% 传递函数 %%%%
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);
希望对你有帮助。
%%%% 传递函数 %%%%
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);
希望对你有帮助。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询