matlab绘制单位阶跃响应曲线;求解答

将二阶系统的单位阶跃响应 输入后显示
错误: 表达式无效。调用函数或对变量进行索引时,请使用圆括号。否则,请
检查不匹配的分隔符。
以及后面的各种下标,演示应该怎么打?
刚学matlab,求解答

img

你好,由于zeta=1的时候出现1/0,所以画不了,改成zeta=0.9。代码供参考

a = 2;
y=@(t, zeta) 1-1/sqrt(1-zeta^2)*exp(-zeta*t).*sin(sqrt(1-zeta^2)*t+a*cos(zeta));
zeta = [0, 0.2, 0.5, 0.7, 0.9];
lgd = cell(size(zeta));
col = 'bgrcm';
shp = {'-s','--d','-.p',':^','-v'};
figure(1);clf
hold on
for i = 1:1:numel(zeta)
    fplot(@(t)y(t,zeta(i)), [0,15], [col(i),shp{i}],'linewidth',2);
    lgd{i} = ['\zeta=',num2str(zeta(i))];
end
grid on;
legend(lgd)

xlabel('时间 t')
ylabel('响应 y')
title('二阶系统曲线')

效果图

img

有帮助望采纳,支持一下答主哟