SIMULINK仿真实验

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

SimuLink 仿真二阶微分方程的求解

专业:信息

****** 1031020118

****** 1031020124

****** 1031020217

指导老师:***

日期:2012—12—25

题目:二阶微分方程的求解

一、实验目的

1、熟悉Simulink 基本用法。

2、了解simulink 的一些模块的意义。

3、掌握模块的选取、复制、删除操作。

4、学会simulink 模块的连接以及模块参数的设置。

二、实验仪器

1、计算机

2、MATLAB 软件环境

三、实验内容

1、求解二阶微分方程x(t)0.4x(t)0.9x(t)0.7u(t)++=的方程解,其中u(t)是脉冲信号。需要使用Simulink 求解x(t)。

2 、求解二阶微分方程x(t)0.2x(t)0.4x(t)0.2u(t)++=,其中u(t)是脉冲信号。需要使用Simulink 求解x(t)。

3、求解二阶微分方程x(t)0.5x(t)0.8x(t)0.9u(t)++=的解x(t);其中初值为 ,

并且 是一个余弦信号。

四、实验过程

1、求解二阶微分方程x(t)0.4x(t)0.9x(t)0.7u(t)++=的方程解,其中u(t)是脉冲信号。需要使用Simulink 求解x(t)。

1.1)用matlab 求解此二阶微分方程:

在matlab 中输入程序: syms t y;

u=sin(t); uu=0.7*u;

y=dsolve(['D2y+0.4*Dy+0.9*y=',char(uu)]);

程序运行结果:y =

exp(-1/5*t)*sin(1/10*86^(1/2)*t)*C2+exp(-1/5*t)*cos(1/10*86^(1/2)*t)*C1-7/17*sin(t)-28/17*cos(t) 1.2)利用simulink 求解此二阶微分方程

x(0)1x(0)3

=⎧⎨

=⎩u(t)cos(t)=

1.21使用simulink创建微分方程:

创建m文件:

function Ts=yuejiewqq

t=0:.1:20;

y=heaviside(t);

Ts=[t',y'];

用Simulink做所得模块:

1.22设置模块属性:

设置模块pulse的模块属性:

设置模块add的模块属性:

1.23 运行simulik

simulink结果运行图:

2、求解二阶微分方程x(t)0.2x(t)0.4x(t)0.2u(t)

++=,其中u(t)是脉冲信号。需要使用Simulink求解x(t)。

2.1)用matlab求解此二阶微分方程:

在matlab中输入程序:

syms t y;

u=sin(t);uu=0.2*u;

y=dsolve(['D2y+0.2*Dy+0.4*y=',char(uu)])

程序运行结果:y =

exp(-1/10*t)*sin(1/10*39^(1/2)*t)*C2+exp(-1/10*t)*cos(1/10*39^(1/2)*t)*C 1-1/10*cos(t)-3/10*sin(t)

2.2)利用simulink求解此二阶微分方程2.21、使用simulink创建微分方程:

2.22)、设置模块属性:

设置模块subtract 的模块属性:

设置模块Gain, Gain1和Gain2的属性:

2.23运行simulik

simulink 结果运行图:

3、求解二阶微分方程x(t)0.5x(t)0.8x(t)0.9u(t)++=的解x(t);其中初值为

, 并且 是一个余弦信号。

3.1)用matlab 求解此二阶微分方程:

在matlab 输入程序:

>>Syms t x;

x(0)1x(0)3

=⎧⎨

=⎩u(t)cos(t)=

u=cos(t);

uu=0.9*u;

x=dsolve(['D2x+0.5*Dx+0.8*x=',char(uu)],'x(0)=1','Dx(0)=3')

程序运行结果为

>>x =

215/1711*exp(-1/4*t)*sin(1/20*295^(1/2)*t)*295^(1/2)+47/29*exp(-1/4*t)*cos(1

/20*295^(1/2)*t)-18/29*cos(t)+45/29*sin(t)

继续在matlab命令窗口输入:

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

title('所求的x(t)的图像');

xlabel('t');

ylabel('x');

legend('x(t)');

用matlab所得出的函数x(t)图像如下:

3.2)利用simulink求解此二阶微分方程

3.21使用simulink创建微分方程:

3.22设置模块属性:

设置模块sine wave 的模块属性:设置模块subtract的属性:

设置模块integrator和integrator1的属性:

设置模块Gain, Gain1和Gain2的属性:

3.23 运行simulik

simulink结果运行图:

五、实验心得与总结

通过本次simulink仿真实验,我们学会了用除利用matlab外的另一种微分方程的解法,在本次实验中,我们分别用matlab和simulink两种方式计算三个二阶微分方程,并且分别用matlab和simulink 画出了解得图像,从图像上我们惊奇的发现两种方式求的解非常的接近,由此可见我们的实验很是成功。此外,总体来说,我们又学会了解决数学问题的强大工具,同时也更体会到matlab的强大之处,我们相信我们将会更加有热情和信心去学好它。

相关文档
最新文档