湖北汽车工业学院MATLAB单输入单输出系统习题答案
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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文件,在文件中建立模型如下: