atlab建立系统传递函数5*(s+2)^2*(s^2+6s+7)/s*(s+1)^3*(s^3+2*s+1)的多项式模型的代码
时间: 2024-10-17 10:07:44 浏览: 27
基于MATLAB车牌识别系统设计方案源码(2套).zip
5星 · 资源好评率100%
在MATLAB中,要建立这样一个传递函数模型,首先需要分别计算分子和分母的多项式。这个传递函数的表达式是一个典型的分数形式,我们可以将其分解并分别处理分子和分母。
下面是如何创建该传递函数的MATLAB代码:
```matlab
% 分解分子多项式
num_coeffs = [5, 0, 0]; % 假设(5*s^2)
num_poly = poly(num_coeffs);
% 分解分母多项式
den_coeffs = [1, 0, 0, 0, 0]; % s^3
den_coeffs = [den_coeffs; 2, 1]; % s^2 + 2s
den_coeffs = [den_coeffs; 1, 6, 7]; % s^2 + 6s + 7
den_poly = poly(den_coeffs); % s*(s+1)^3*(s^2+6s+7)
% 创建传递函数模型
sys = tf(num_poly, den_poly);
```
在这里,`tf`函数直接接受两个向量,第一个是分子多项式的系数,第二个是分母多项式的系数。系数数组是以升序排列的,所以`num_coeffs`是从高次到低次,而`den_coeffs`则是从最深的极点开始递增。
阅读全文