已知单位负反馈系统的开环传递函数如下: G (s) =5 s + 100)/ S/ (S + 4.6)/(s*s+ 3.4s+16.35) (1) 用Matlab语句和函数表示出闭环系统模型; (2) 用MATLAB语句和函数求取系统闭环零极点2 和P的程序
时间: 2024-03-27 10:40:38 浏览: 98
好的,针对你的问题,以下是MATLAB代码的示例:
(1)用MATLAB语句和函数表示出闭环系统模型
```
% 开环传递函数
num = [5 100];
den = conv([1 0],[1/(4.6) 1])*conv([1 0.34 16.35], [1 0]);
% 闭环系统模型
sys = feedback(tf(num,den),1);
```
以上代码中,我们首先定义了开环传递函数的分子和分母。然后使用MATLAB的conv函数将分子和分母进行卷积运算,得到了完整的开环传递函数。接着使用MATLAB的feedback函数将开环传递函数和单位负反馈系统进行连接,得到了闭环系统模型sys。
(2)用MATLAB语句和函数求取系统闭环零极点2和P的程序
```
% 开环传递函数
num = [5 100];
den = conv([1 0],[1/(4.6) 1])*conv([1 0.34 16.35], [1 0]);
% 闭环系统模型
sys = feedback(tf(num,den),1);
% 求取闭环零极点和增益
[z,p,k] = zpkdata(sys);
% 输出零极点和增益
disp('闭环零点:');
disp(z{1});
disp('闭环极点:');
disp(p{1});
disp('闭环增益:');
disp(k);
```
以上代码中,我们首先定义了开环传递函数的分子和分母,然后使用MATLAB的conv函数将分子和分母进行卷积运算,得到了完整的开环传递函数。接着使用MATLAB的feedback函数将开环传递函数和单位负反馈系统进行连接,得到了闭环系统模型sys。最后使用MATLAB的zpkdata函数求取闭环零极点和增益,并输出结果。需要注意的是,zpkdata函数返回的零极点和增益的格式为Cell数组,需要通过z{1}和p{1}的方式获取其中的数据。
阅读全文