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

📄 pid.m

📁 螺旋桨PID控制 In response to constant pressure to design more efficient, faster, smaller, and better sys
💻 M
字号:
%creating function, asking for proportional, integral, and derivative gain
function project(KP,KI,KD)

%create uncontrolled transfer function model
sys = tf([516.198],[100 20*10^3 399741.90867])

%calculating poles and zeros
[z,p] = zpkdata(sys,'v')

%display impulse and step inputs to uncontrolled system
impulse(sys)
figure
step(sys)

%convert TF to state space model
[A,B,C,D] = tf2ss([516.198],[100 20*10^3 399741.90867])

%checking observability and controllability of uncontrolled model
Observ = obsv(A,C)
Unobserv = length(A) - rank(Observ);

if Unobserv <= 0
            disp('System is fully Observable')
        else
            disp('System is not fully Observable')
        end
    
Control = ctrb(A,B)
Uncontrol = length(A) - rank(Control);

if Uncontrol <= 0
            disp('System is fully Controllable')
        else
            disp('System is not fully controllable')
        end

%%%%%%%% adding a PID controller

sys2 = tf([KD KP (KI+516.183)],[100 (KD+(20*10^3)) (KP+399741.90867) KI])

%calculating new zeros and poles of controlled system
[z2,p2] = zpkdata(sys2,'v')

%displaying controlled response to step and impulse inputs
figure
impulse(sys2)
figure
step(sys2)
figure
pzmap(sys2)

%converting controlled TF to state space model
[A2,B2,C2,D2] = tf2ss([KD KP (KI-516.183)],[100 (KD+(20*10^3)) (KP+399741.90867) KI])

%checking observability and controllability of controlled model
Observ2 = obsv(A2,C2)
Unobserv2 = length(A2) - rank(Observ2);

if Unobserv2 <= 0
            disp('System with PID Controller is fully Observable')
        else
            disp('System with PID Controller is not fully Observable')
        end
    
Control2 = ctrb(A2,B2)
Uncontrol2 = length(A2) - rank(Control2);

if Uncontrol2 <= 0
            disp('System with PID Controller is fully Controllable')
        else
            disp('System with PID Controller is not fully controllable')
        end

⌨️ 快捷键说明

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