% 传递函数建模
clear; clc;
R1 = 5; R2 = 5;
C1 = 20E-6; C2 = 20E-6;
s = tf([1, 0], 1);
C1s = 1 / (s*C1);
C2s = 1 / (s*C2);
G1 = 1 / (1/C1s+1/R1);
G2 = R2 + C2s;
clear R1 R2 C1 C2 C1s C2s;
Gs = G2 / (G1+G2)
clear G1 G2;
% 能控、能观
[A, B, C, D] = tf2ss(Gs.Numerator{1, 1}, Gs.Denominator{1, 1});
ctr_matrix = ctrb(A, B);
ctr_order = rank(ctr_matrix); % 能控矩阵不满秩
obs_matrix = obsv(A, C);
obs_order = rank(obs_matrix); % 能观矩阵不满秩
% 闭环响应
Kp = 3;
Ti = 0.02;
Td = 0.02;
if (Ti==Inf)
Gc = Kp * (1 + Td*s);
else
Gc = Kp * (1 + 1/(Ti*s) + Td*s);
end
Gs_close_loop = feedback(Gc*Gs, 1);
step(Gs_close_loop, 0.5); % 阶跃响应
impulse(Gs_close_loop, 0.5); % 脉冲响应
step(Gc*Gs_close_loop/s, 0.5); % 斜坡响应
title("Slope Response");
看你提交了两次。。。
你好,我是有问必答小助手,非常抱歉,本次您提出的有问必答问题,超出我们目前的服务范围,暂时无法为您解答。
问答VIP目前服务范围为 :Python、Java、MySQL、Redis、MongoDB、HBase、Zookeeper、Kafka、Linux领域专业问题解答,为您提供解决问题的思路和指导。
不提供源码代写、项目文档代写、论文代写、作文代写、安装包资源发送或安装指导等服务。
本次提问扣除的有问必答次数,已经为您补发到账户,我们后续会持续优化,扩大我们的服务范围,为您带来更好地服务。