湖北汽车工业学院MATLAB单输入单输出系统习题答案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

考察下列单输入单输出系统:

x’’+3x’+2x=u

x(0)=1 ,x’(0)=0

输入:u=u(t), 输出:x=x(t), 0

编程做以下四件事:

1、u=1时,用符号法求输出(dslove)

2、u=1时,用数值法求输出(ode45)

3、用传递函数求输出阶跃响应(tf,step)

4、用Simulink法求输出阶跃响应(mdl)

给出源程序代码或模块,以及运行结果分析。

题目解答如下:

1、运行代码:x=dsolve('D2x+3*Dx+2*x=1','x(0)=1,Dx(0)=0','t')

>> ezplot(x,[0,10])

输出结果:

x =

exp(-t) - exp(-2*t)/2 + 1/2

2、在脚本文件中建立函数:function xdot=DyDt(t,x)

mu=3;

xdot=[x(2);1-2*x(1)-mu*x(2)];

在命令窗口中运行指令:

tspan=[0,10];

x0=[1,0];

[tt,xx]=ode45(@DyDt,tspan,x0);

plot(tt,xx(:,1));

xlabel('t'),title('x(t)')

由于函数ode45采用的数值积分法,故tt,xx的结果为一系列插值点,结果不易处理,在此只输出图形。

3、

在命令窗口中运行指令:

clear all;

G1=tf([1],[1,3,2])

step(G1,'m*');

legend('*G1')

输出结果:

G1 =

1

-------------

s^2 + 3 s + 2

4、建立siso.mdl文件,在文件中建立模型如下:

相关文档
最新文档