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

上传人:kms****20 文档编号:40508049 上传时间:2018-05-26 格式:DOC 页数:5 大小:29.50KB
返回 下载 相关 举报
从传递函数到差分方程的转换_第1页
第1页 / 共5页
从传递函数到差分方程的转换_第2页
第2页 / 共5页
从传递函数到差分方程的转换_第3页
第3页 / 共5页
从传递函数到差分方程的转换_第4页
第4页 / 共5页
从传递函数到差分方程的转换_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《从传递函数到差分方程的转换》由会员分享,可在线阅读,更多相关《从传递函数到差分方程的转换(5页珍藏版)》请在金锄头文库上搜索。

1、从传递函数到差分方程的转换从传递函数到差分方程的转换从传递函数到差分方程的转换悬赏分:0 - 解决时间:2008-3-20 21:02我以前提问过“如何把传递函数转换成差分方程”的形式,后来不少人 QQ 问我,我觉得有必要把这些写出来,其实很简单的。 1、传递函数的形式 假设传递函数为:G(s)=exp(-0.004s)*400/(s2+50s); 其中后表示指数,如:23=8;42=16; 在 matlab 里面建立这个传递函数的命令就是:sys=tf(400,1,50,0,inputdelay,0.004); 2、脉冲传递函数 把传递函数离散化就得到脉冲传递函数,这个我就不多说了。 。 。

2、 。 G(z) =z(-4) *( 0.0001967 z + 0.0001935)/( z2 - 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、差分方程形式 由(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

4、-6) 即差分方程形式 num,den=tfdata(dsys,v)这个命令其实就是取式(2)的分子分母怎么用 matlab 把传递函数转成差分方程就是这个问题,目前还没有人回答,本人悬赏的 200,地址如下: http:/ 如果在这个页面回答也可以,想要分的留言 我把问题复制过来,如下: -怎么用 matlab 把传递函数转成差分方程- 悬赏分:120 - 离问题结束还有 16 天 0 小时 以下是 PID 控制的部分代码(matlab 的 m 文件): ts=0.001;采样时间=0.001s sys=tf(400,1,50,0);建立被控对象传递函数 dsys=c2d(sys,ts,z);把传递函数离散化(问题 1) num,den=tfdata(dsys,v);离散化后提取分子、分母 rin=1.0;输入为阶跃信号 u_1=0.0; u_2=0.0; 什么东西的初始状态(问题 2) y_1=0.0; y_2=0.0; 是不是输出的初始状态 error_1=0;初始误差 x=0 0 0;PID 的 3 个参数 Kp Ki Kd 组成的数组 p=100;仿真时间 100ms for k=1:1:p r(k)=rin; u(k)=kpidi(1)*x(1)+kpidi(2)*x(2)+kpidi(3)*x(3) if u(k)=10 u(k)=10; end if u(k)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号