从传递函数到差分方程的转换

从传递函数到差分方程的转换
 悬赏分:0 - 解决时间:2008-3-20 21:02
我以前提问过“如何把传递函数转换成差分方程”的形式,后来不少人QQ问我,我觉得有必要把这些写出来,其实很简单的。 


1、传递函数的形式 
假设传递函数为:G(s)=exp^(-0.004s)*400/(s^2+50s); 
其中^后表示指数,如:2^3=8;4^2=16; 
在matlab里面建立这个传递函数的命令就是:sys=tf(400,[1,50,0],'inputdelay',0.004); 


2、脉冲传递函数 
把传递函数离散化就得到脉冲传递函数,这个我就不多说了。。。。 
G(z) =z^(-4) *( 0.0001967 z + 0.0001935)/( z^2 - 1.951 z + 0.9512) 
= z^(-4) *[0.0001967z ^(-1)+ 0.0001935z^(-2)]/[ 1 - 1.951 z^(-1) + 0.9512z^(-2)] =Y(z)/U(z)……(2)式 
在matlab里面离散化命令是:dsys=c2d(sys,0.001,'z');其中0.001为采样时间; 
(2)式可写成: 
z^(-4) *[0.0001967 z ^(-1)+ 0.0001935z^(-2)] U(z) = [ 1 - 1.951 z^(-1) + 0.9512z^(-2)] Y(z) (3)式 


3、差分方程形式 
由(3)式可得 
0.0001967 z ^(-5)+ 0.0001935z^(-6)]U(z) = [ 1 - 1.951 z^(-1) + 0.9512z^(-2)] Y(z) (4)式 
把(4)式得z^(-n)中的(-n)写成(k-n),如z^(-5)U(z)写成u(k-5),可得: 
0.0001967 u(k-5)+ 0.0001935u(k-6)= y(k) - 1.951 y(k-1) + 0.9512y(k-2) (5)式 
由(5)式得 
y(k) = 1.951 y(k-1) - 0.9512y(k-2)+0.0001967 u(k-5)+ 0.0001935u(k-6) 
即差分方程形式 


[num,den]=tfdata(dsys,'v')这个命令其实就是取式(2)的分子分母
您好!对于差分方程中的超前和滞后补偿,可以通过将传递函数转换差分方程来实现。 在 MATLAB 中,可以使用 `tf2zp` 函数将传递函数转换为零极点形式,然后使用 `tf2ss` 函数将其转换为状态空间表示形式。最后,可以使用 `ss2tf` 函数将状态空间模型转换传递函数形式。 以下是一个示例代码,演示了如何将传递函数转换差分方程,并进行超前和滞后补偿: ```matlab % 传递函数表示 num = ; % 传递函数子多项式系数 den = [1, 2, 1]; % 传递函数母多项式系数 % 转换为零极点形式 [z, p, k] = tf2zp(num, den); % 转换为状态空间模型 [A, B, C, D] = tf2ss(num, den); % 超前补偿 alpha = 0.5; % 超前补偿系数 A_comp = A - alpha * B * C; B_comp = (1 - alpha) * B; C_comp = C; D_comp = D; % 滞后补偿 beta = 0.2; % 滞后补偿系数 A_comp = A_comp - beta * B_comp * C_comp; B_comp = B_comp; C_comp = C_comp - beta * D_comp * B_comp; D_comp = D_comp; % 转换传递函数形式 [num_comp, den_comp] = ss2tf(A_comp, B_comp, C_comp, D_comp); % 输出差分方程 fprintf('差分方程: \n'); disp(den_comp); disp(['y(n) = ' num2str(num_comp) 'u(n)']); ``` 在上述代码中,首先定义了传递函数子和母多项式系数。然后使用 `tf2zp` 函数将传递函数转换为零极点形式,再使用 `tf2ss` 函数将其转换为状态空间模型。接下来,根据超前补偿和滞后补偿的系数对状态空间模型进行调整。最后,使用 `ss2tf` 函数将调整后的状态空间模型转换传递函数形式,并输出对应的差分方程。 希望以上内容对您有帮助!如有其他问题,请随时提问。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值