matlab已知系统的传递函数为 ,求其阶跃响应

1个回答

  • 也不晓得我写的是不是你所需要的答案!

    只需要给定a的范围!

    调用myfun函数即可得到阶跃响应的其中三个指标

    如果是你需要的答案,请采纳!

    谢!

    还有问题请留言!

    function [cmax,tp,ts]=myfun(a)

    %概略计算某参数变化时阶跃响应的峰值、峰值时间、调节时间

    %定义数组a,如a=1:0.1:5;

    n=length(a);

    for i=1:n

    %建立传递函数

    num=[1];den=[1 2*a(i) 1];

    sys0=tf(num,den);

    [y0,t0]=step(sys0);

    %计算峰值cmax、峰值时间tp

    cmax(i)=max(y0);

    tp(i)=spline(y0,t0,cmax(i));

    %计算调节时间ts,5%,如果需要计算2%只需将0.05换成0.02即可

    for k=1:length(y0)

    if abs(y0(k:length(y0))-1)