matlab编程,在阶跃响应中的某一刻加入脉冲扰动,用impulse 5
现有阶跃和脉冲的传函,想改变脉冲传函中的某一参数来观察它对响应曲线的影响,想用一个循环语句,但是不知道X2=impulse([j*j,2*j,0],[j*j,2*j,1]...
现有阶跃和脉冲的传函,想改变脉冲传函中的某一参数来观察它对响应曲线的影响,想用一个循环语句,但是不知道X2=impulse([j*j,2*j,0],[j*j,2*j,1],t2)中的t2和阶跃响应的t1之间的关系怎么弄,总是显示维度不一样。附上我的程序
clc
clear all
dt=0.2;%采样的时间间隔
t=0:dt:10;
figure(1);
%加扰动前脉冲响应
X1=step(tf(200,[0.25,1,1]),t);
plot(t,X1);
t2=5:0.2:10;
t1=5;%设置增加一个脉冲扰动的时刻
t_index=5/dt;
X2=zeros(size(X1));
for j=0:0.05:0.1
X2=impulse([j*j,2*j,0],[j*j,2*j,1],t2);%正为上,负为下
%加扰动后脉冲响应
plot(t,X1+X2);
grid on;
hold on;
end 展开
clc
clear all
dt=0.2;%采样的时间间隔
t=0:dt:10;
figure(1);
%加扰动前脉冲响应
X1=step(tf(200,[0.25,1,1]),t);
plot(t,X1);
t2=5:0.2:10;
t1=5;%设置增加一个脉冲扰动的时刻
t_index=5/dt;
X2=zeros(size(X1));
for j=0:0.05:0.1
X2=impulse([j*j,2*j,0],[j*j,2*j,1],t2);%正为上,负为下
%加扰动后脉冲响应
plot(t,X1+X2);
grid on;
hold on;
end 展开
1个回答
展开全部
numerator = [1 2 1];
denominator =[1 2 2 1];
h = tf(numerator, denominator);
step(h); %求阶跃响应
impulse(h); %求冲击响应
你到matlab里边把上边这些试试就知道了。 你要是想保存时间和响应的具体数值,就用下边的方法调用吧。
[Y,T] = STEP(SYS) returns the output response Y and the time vector T used for simulation.
denominator =[1 2 2 1];
h = tf(numerator, denominator);
step(h); %求阶跃响应
impulse(h); %求冲击响应
你到matlab里边把上边这些试试就知道了。 你要是想保存时间和响应的具体数值,就用下边的方法调用吧。
[Y,T] = STEP(SYS) returns the output response Y and the time vector T used for simulation.
追问
您好,我不大明白您给我这几条语句的用意,我也在MATLAB里面试了。我想加的脉冲扰动和阶跃响应不是同一个传函,这样该怎么做的?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询