16常微分方程.doc

上传人:m**** 文档编号:543499328 上传时间:2023-04-11 格式:DOC 页数:4 大小:45.51KB
返回 下载 相关 举报
16常微分方程.doc_第1页
第1页 / 共4页
16常微分方程.doc_第2页
第2页 / 共4页
16常微分方程.doc_第3页
第3页 / 共4页
16常微分方程.doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《16常微分方程.doc》由会员分享,可在线阅读,更多相关《16常微分方程.doc(4页珍藏版)》请在金锄头文库上搜索。

1、练习16 常微分方程(一)知识背景求解常微分方程在工程技术中运用比较广泛,在水力学、电工电子技术、环境模型、生态模型以及经济管理等各个领域都有重要的运用。由于常微分方程在工程技术中运用的广泛性、重要性,我们分两个练习来重点讲解和练习。 求解常微分方程,有时候会遇到无法求出解析解的情况,即不能通过等式左右同时积分法不定积分求出。但是我们有时候在给定的条件下,可以求出常微分的数值解来逼近数值解,以完成对模型的研究。求解常微分方程数值解的方法通常有欧拉法和龙格贝塔法,对于微分方程,欧拉方法解法的基本思想是在小区间上用差商代替方程的导数,并通过把小区间不断地划分求极限,从而最终得到数值解。龙格贝塔方法

2、的基本思想也是用差商来代替导数,只不过龙格贝塔在小区间是运用了微分中值定理,在小区间内多取点而取加权的平均值来构造精度更高的计算式。而在MATLAB中,主要采用龙格贝塔法来计算常微分方程的数值解。主要内容【本练习考查知识点】本练习主要通过几个解一阶常微分方程或其模型来辅导读者掌握解决常微分方程数值的基本方法。本练习主要用到的函数是ode23和ode45,其中ode45(阶及阶)是首选的方法,而ode23(阶及阶)是比ode45低阶的函数。其主要表达式是:t,x=ode23(f,t0,tf,x0,TOL)t,x=ode45(f,t0,tf,x0,TOL)f是将所求解的常微分方程写成的函数并存于m

3、文件中,to、tf分别为自变量的处始值和最终值,而x0则是函数的初始值,是误差范围(缺省值是0.000001)。这些知识点请读者熟记。练习过程(1) 先以一个简单的例子来说明解常微分方程的解法:例:求解常微分方程:。其中初始值为这是一个较简单的微分方程,可以通过在等式两边求积分从而求出其表达式,为了后面研究方程的数值解,这里我们采用求数值解的方法,在求解中我们只给出在区间0,1的数值解及图形,函数yfun.m文件:function exer=yfun(t,x)exer=-x.3程序如下:t,x=ode(yfun,0,1,1)plot(t,x,k+,t,x,r)结果如图16-1、图16-2、图1

4、6-3所示。本例仅通过一个简单的练习让读者熟悉和理解求解微分方程数值解时所用的基本方法和基本函数,下面我们通过在生态学中的一个重要的捕食模型来继续微分方程数值解的研究。(2) 求解二阶以上的常微分方程数值解,通常是将表达式迭代的过程,即使将方程在函数中叠代表达,从而在命令行中编程实现。我们以一个常见的物理模型为例,来说明二阶以上常微分方程的一般解法在单摆模型中,以垂直方向为平衡位置,即x=0时,以右边为正方向建立摆角x,小球所受重力沿运动轨迹方向的分力为-mgsinx,利用牛顿运动第二定律有: 设初始偏离角度为a,此时无初速,则方程的初始条件为:。由于方程没有解析解,故我们求其数值解。初始角度

5、为0.1745(弧度)时,求数值解如下: 先将所列的方程存入一个函数文件中,然后再在命令区下计算调用函数文件。函数文件如下: high.m function xexer=high(t,x) g=9.8 length=25 xexer=x(2);g/length*sin(x(1); 在命令区中输入的程序如下: ts=0,10; x0=0.1745,0 t,x=ode(high,ts,x0) 运行结果为: t x 0 0.1745 0.0007 0.1745 0.0015 0.1745 0.0022 0.1745 0.0030 0.1745 0.0066 0.1745 0.0103 0.1745

6、0.0140 0.1745 0.0177 0.1745 0.0362 0.1745 0.0546 0.1744 0.0731 0.1743 0.0915 0.1742 0.1838 0.1744 0.2761 0.1719 0.3683 0.1699 0.4606 0.1673 0.7106 0.1576 0.9606 0.1440 1.2106 0.1269 1.4606 0.1068 1.7106 0.0840 1.9606 0.0591 2.2106 0.0591 2.4606 0.0058 2.7106 -0.0214 2.9606 -0.0482 3.2106 -0.0737 3.4

7、606 -0.0974 3.7106 -0.1187 3.9606 -0.1372 4.2106 -0.1523 4.4606 -0.1637 4.7106 -0.1711 4.9606 -0.1743 5.2106 -0.1734 5.4606 -0.1681 5.7106 -0.1588 5.9606 -0.1457 6.2106 -0.1289 6.4606 -0.1091 6.7106 -0.0866 6.9606 -0.0619 7.2106 -0.0358 7.4606 -0.0087 7.7106 0.0185 7.9606 0.0453 8.2106 0.0710 8.4606

8、 0.0949 8.7106 0.1165 8.9606 0.1353 9.2106 0.1508 9.4606 0.1626 9.5955 0.1674 9.7303 0.1709 9.8652 0.1733 10.0000 0.1744【练习小结】 本练习主要介绍了一阶以及二阶常微分方程的解法,并介绍了MATLAB中常微分方程常用的函数及其用法实例。通过实例介绍了求解二阶常微分方程的迭代算法,并介绍了其在MATLAB中的实现。【思考题】1 请运用本练习介绍的算法以及函数来解常微分方程:2 求解二阶常微分方程: 3 ode23和ode45的精度有什么差别?4 如何求解二阶以及二阶以上的常微分方程?【思考题求解】1 函数文件first.mfunction exer=first(t,x)exer=-x.2;程序如下:t,x=ode23(first,0,1,1);plot(t,x,k+,t,x,r)23ode45为阶及阶是MATLAB首选的方法,而ode23为阶及阶是比ode45低阶的函数。4求解二阶以上的常微分方程数值解,通常是将表达式迭代的过程,即使将方程在函数中叠代表达,从而在命令行中编程实现。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号