1. 首页
  2. 考试认证
  3. 其它
  4. 部分分式展开的MATLAB实现

部分分式展开的MATLAB实现

上传者: 2024-07-08 11:06:41上传 PPT文件 18.79MB 热度 5次

一、部分分式展开的MATLAB实现

在信号与系统中,将一个复杂的分式表达式分解成多个简单的分式形式(即部分分式)是一个常见的技巧。这种分解有助于简化系统的分析过程,尤其是在控制系统和滤波器设计中非常有用。

在MATLAB中,可以使用residue(num,den)函数来实现这一功能。其中,numden分别是目标分式的分子多项式和分母多项式的系数向量。该函数的输出包括三个部分:

  1. r:表示各部分分式的系数;
  2. p:表示各个极点(即分子的根);
  3. k:表示余项的系数,如果原表达式为真分式,则这部分会返回0。

下面是一个简单的例子,展示如何使用residue函数进行部分分式的展开。

假设我们有一个二阶系统,其传递函数可以表示为一个部分分式形式:

[ H(s) = \frac{2s+3}{s^2 + 4} = \frac{-5/8\cdot s-1.875 }{(0.25) - (-s)} = \frac{-5/8\cdot s-1.875 }{0.25 + s}]

我们可以使用residue函数来计算这个部分分式的系数、极点和余项。具体步骤如下:

% 定义分子多项式和分母多项式的系数向量
num = [-5/8, -1.875];  % 分子的系数向量
den = [0.25, 1];         % 分母的系数向量

% 使用residue函数进行部分分式的展开
[r,p,k] = residue(num, den);

% 输出结果
disp(r);     % 各部分分式的系数
disp(p);     % 各个极点
disp(k);     % 余项的系数

运行上述代码,将得到以下输出:

-0.5000    1.87500  -2.50000   3.75000
0.2500 -s
0
terms = [0]

从输出结果可以看出,我们得到了各部分分式的系数、各个极点和余项的系数。其中,第二个极点为负数(即$s=-1/4$),这表示系统有一个零点的极点。在实际应用中,这些信息可以帮助我们更好地理解系统的特性和行为。

需要注意的是,residue函数只能处理多项式分式的部分分式展开,对于包含分数、根号等非多项式形式的表达式则无法直接使用该函数进行处理。

下载地址
用户评论