⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pid2.m

📁 《MATLAB在控制系统中的应用》实例程序
💻 M
字号:
% ------ pid2.m ------
% 小车位置PID控制 
% 输入倒立摆传递函数 G1(s)=num1/den1,G2(s)=num2/den2
M = 0.5;
m = 0.2;
b = 0.1;
I = 0.006;
g = 9.8;
l = 0.3;
q = (M+m)*(I+m*l^2) -(m*l)^2;  
num1 = [m*l/q  0 0];
den1 = [1  b*(I+m*l^2)/q  -(M+m)*m*g*l/q  -b*m*g*l/q 0];
num2 = [-(I+m*l^2)/q  0  m*g*l/q];
den2 = den1;
% 输入控制器PID数学模型 Gc(s)=numPID/denPID
Kp = 1;
Ki = 1; 
Kd = 1;
numPID = [Kd Kp Ki];
denPID = [1 0];
% 计算闭环系统传递函数G(s)=num/den
% 多项式相乘
num = conv(num2,denPID);
% 多项式相加
den = polyadd(conv(denPID,den2),conv(numPID,num1 ));
% 求闭环系统极点
[r,p,k] = residue(num,den);
% 显示闭环系统极点
s = p
% 求取多项式传函的脉冲响应
t=0:0.005:5;
impulse(num,den,t) 
% 显示范围:横坐标0-5,纵坐标0-10,此条语句参数可根据仿真输出曲线调整
axis([0 5 0 10])
grid
% ------ end ------

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -