MATLAB自动控制实验:部分分式展开与零点极点求解

需积分: 9 0 下载量 46 浏览量 更新于2024-07-22 收藏 1.08MB DOC 举报
自动控制实验是学校课程中的一项重要实践,主要目的是让学生通过实际操作掌握MATLAB在自动控制理论中的应用。该实验分为两个部分,首先涉及部分分式展开,其次探讨零点和极点的求解。 **部分分式展开实验** 实验的核心目标是学会使用MATLAB进行系统传递函数B(S)/A(S)的部分分式展开。MATLAB提供了内置函数来处理这个任务,如`residue`和`pole`。首先,学生会遇到一个传递函数,其分子B(S)和分母A(S)可能包含零值。在MATLAB中,通过以下命令计算部分分式展开: 1. 定义传递函数的系数,如`num`和`den`。 2. 使用`residue`命令,输入传递函数的系数,得到留数(即分式中的系数)、极点以及可能的余项。 例如,对于传递函数`B(S)/A(S)`,命令可能如下: ```matlab [num, den] = [...]; % 分子和分母系数 [Bp, Zp, Rp] = residue(num, den); % 分别为留数、极点和余项 ``` 部分分式展开的结果可以用留数、极点和余项表示,并能转换回多项式形式`B(S)/A(S)`。 **零点和极点求解** 实验的第二部分是运用MATLAB求解B(S)/A(S)的零点。这同样涉及到传递函数的系数,使用`zeros`或`roots`命令找到系统的根,即零点。例如,对于传递函数`B(S)/A(S)`的零点,可以通过以下命令: ```matlab zeroes = roots(den); % 求解分母极点 ``` 如果系统存在重极点,MATLAB会根据重根的数量提供相应的展开式,比如: ```matlab [Bp, Zp, Rp] = residue(num, den, 'r'); % 'r'参数指示处理重根 ``` 通过这些步骤,学生可以深入理解如何在MATLAB环境下操作传递函数,分析系统动态特性和行为。 总结来说,此自动控制实验借助MATLAB工具箱,不仅强化了学生对部分分式展开和零点/极点概念的理解,而且提升了他们编程和数值计算的能力,这对于理解和设计控制系统具有实际意义。