枫叶ss 2021-06-10 01:31 采纳率: 100%
浏览 21
已采纳

求助!求大佬动动小手帮忙用Matlab编写一段程序实现下面目的,我写的一直不对,头都秃了

 

  • 写回答

2条回答 默认 最新

  • MilkshakeのMilktea 2021-06-10 10:06
    关注
    % 传递函数建模
    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");
    

    simulink没法上传你自己做吧,但用代码其实也能做输入响应,PID参数你自己调一下,望采纳。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 请问为什么我配置IPsec后PC1 ping不通 PC2,抓包出来数据包也并没有被加密
  • ¥200 求博主教我搞定neo4j简易问答系统,有偿
  • ¥15 nginx的使用与作用
  • ¥100 关于#VijeoCitect#的问题,如何解决?(标签-ar|关键词-数据类型)
  • ¥15 一个矿井排水监控系统的plc梯形图,求各程序段都是什么意思
  • ¥50 安卓10如何在没有root权限的情况下设置开机自动启动指定app?
  • ¥15 ats2837 spi2从机的代码
  • ¥200 wsl2 vllm qwen1.5部署问题
  • ¥100 有偿求数字经济对经贸的影响机制的一个数学模型,弄不出来已经快要碎掉了
  • ¥15 数学建模数学建模需要