Chinaunix首页 | 论坛 | 博客
  • 博客访问: 156545
  • 博文数量: 43
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 376
  • 用 户 组: 普通用户
  • 注册时间: 2013-06-22 18:00
文章存档

2014年(16)

2013年(27)

我的朋友

分类: 信息化

2013-07-04 10:14:39

matlab中,传递函数离散化,特别是转化为差分方程,可以使用c2d实现,系数直接转化是不可以的。c2d的具体用法,可以参照matlab帮助,下面举一例

 

% transfor function
sys = tf([1 -1], [1 4 5]);

% discretize
ts = 0.1; % 采样周期
dsys = c2d(sys, ts, 'z'); % 转化为差分方程

% extract
[num, den] = tfdata(dsys,'v'); % 提取差分方程系数

 

结果为:

>> dsys
 
Transfer function:
0.07736 z - 0.08557
----------------------
z^2 - 1.629 z + 0.6703
 
Sampling time: 0.1

>> num

num =

                   0   0.077359465661809  -0.085567271047414

>> den

den =

   1.000000000000000  -1.629281019107614   0.670320046035640

阅读(4655) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~