matlab中的t=0:0.01:5;u=sin(t);sys=tf(100,[1 5 100]);lsim(sys,u,t),想把u改为2倍的单位阶跃,怎么改?

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/27 17:31:24

matlab中的t=0:0.01:5;u=sin(t);sys=tf(100,[1 5 100]);lsim(sys,u,t),想把u改为2倍的单位阶跃,怎么改?
matlab中的t=0:0.01:5;u=sin(t);sys=tf(100,[1 5 100]);lsim(sys,u,t),想把u改为2倍的单位阶跃,怎么改?

matlab中的t=0:0.01:5;u=sin(t);sys=tf(100,[1 5 100]);lsim(sys,u,t),想把u改为2倍的单位阶跃,怎么改?
如果你用的版本有单位阶跃函数heaviside,则:
t=0:0.01:5;u=2*heaviside(t);sys=tf(100,[1 5 100]);lsim(sys,u,t)
如果你用的版本没有单位阶跃函数heaviside,则:
heaviside1 = @(x) 0.0*(x < 0) + 1.0*(x > 0) + 0.5*(x == 0) % 单位阶跃函数
t=0:0.01:5;u=2*heaviside1(t);sys=tf(100,[1 5 100]);lsim(sys,u,t)

建议你用matlab中的stimulink进行仿真,模块很好能解决2倍的单位阶跃