数学模型数学建模 第二次作业 微分方程实验
- 格式:docx
- 大小:577.84 KB
- 文档页数:25
湖南城市学院数学与计算科学学院《数学建模》实验报告专业:学号:姓名:指导教师:成绩:年月日目录实验一 初等模型........................................................................ 错误!未定义书签。
实验二 优化模型........................................................................ 错误!未定义书签。
实验三 微分方程模型................................................................ 错误!未定义书签。
实验四 稳定性模型.................................................................... 错误!未定义书签。
实验五 差分方程模型................................................................ 错误!未定义书签。
实验六 离散模型........................................................................ 错误!未定义书签。
实验七 数据处理........................................................................ 错误!未定义书签。
实验八 回归分析模型................................................................ 错误!未定义书签。
实验一 初等模型实验目的:掌握数学建模的基本步骤,会用初等数学知识分析和解决实际问题。
实验内容:A 、B 两题选作一题,撰写实验报告,包括问题分析、模型假设、模型构建、模型求解和结果分析与解释五个步骤。
数学建模实验二:微分方程模型Matlab求解与分析实验二:微分方程模型Matlab 求解与分析一、实验目的[1] 掌握解析、数值解法,并学会用图形观察解的形态和进行解的定性分析; [2] 熟悉MATLAB 软件关于微分方程求解的各种命令;[3] 通过范例学习建立微分方程方面的数学模型以及求解全过程;[4] 熟悉离散 Logistic 模型的求解与混沌的产生过程。
二、实验原理1. 微分方程模型与MATLAB 求解解析解用MATLAB 命令dsolve(‘eqn1’,’eqn2’, ...) 求常微分方程(组)的解析解。
其中‘eqni'表示第i 个微分方程,Dny 表示y 的n 阶导数,默认的自变量为t 。
(1)微分方程例1 求解一阶微分方程21y dxdy+= (1) 求通解输入:dsolve('Dy=1+y^2')输出:ans =tan(t+C1)(2)求特解输入:dsolve('Dy=1+y^2','y(0)=1','x')指定初值为1,自变量为x 输出:ans =tan(x+1/4*pi)例2 求解二阶微分方程 221()04(/2)2(/2)2/x y xy x y y y πππ'''++-=='=-原方程两边都除以2x ,得211(1)04y y y x x'''++-= 输入:dsolve('D2y+(1/x)*Dy+(1-1/4/x^2)*y=0','y(pi/2)=2,Dy(pi/2)=-2/pi','x')ans =- (exp(x*i)*(pi/2)^(1/2)*i)/x^(1/2) +(exp(x*i)*exp(-x*2*i)*(pi/2)^(3/2)*2*i)/(pi*x^(1/2))试试能不用用simplify 函数化简输入: simplify(ans)ans =2^(1/2)*pi^(1/2)/x^(1/2)*sin(x) (2)微分方程组例3 求解 d f /d x =3f +4g ; d g /d x =-4f +3g 。
数学建模的微分方程方法数学建模是将现实问题抽象化为数学问题并运用数学方法来解决的过程。
微分方程方法是一种常用的数学建模方法,可以描述问题中的变化过程和规律。
下面将介绍微分方程方法在数学建模中的应用。
微分方程是描述自变量与其之间的关系的方程,其中自变量通常表示时间或空间。
微分方程方法通过建立适当的微分方程来描述问题中的变化过程,然后利用数学工具来求解这些微分方程,从而得到问题的解析解或数值解。
微分方程方法在数学建模中的应用非常广泛。
例如,经典的弹簧振子问题可以通过建立二阶线性常微分方程来描述。
通过求解该微分方程,可以得到弹簧振子的运动规律,从而预测其位置和速度随时间的变化。
微分方程方法还可以用来描述人口增长、化学反应、电路等问题。
人口增长问题可以通过建立一阶常微分方程来描述,从而得到人口数量随时间的变化规律。
化学反应可以通过建立化学动力学方程来描述,从而预测反应速率随时间和反应物浓度的变化。
电路问题可以通过建立电路方程来描述,从而预测电流和电压随时间的变化。
在数学建模中,常常需要求解一类特殊的微分方程,即边值问题。
边值问题是指在一定边界条件下求解微分方程的解。
例如,热传导问题可以通过建立热传导方程和适当的边界条件来描述。
通过求解这个边值问题,可以得到在不同边界条件下的温度分布。
微分方程方法还与其他数学建模方法相结合,如优化方法、概率统计方法等。
例如,最优化问题可以通过建立约束条件下的微分方程来描述,从而求解最优解。
概率统计问题可以通过建立随机微分方程来描述,从而分析问题中的随机性和不确定性。
在实际建模中,常常会遇到复杂的问题和非线性的微分方程。
对于这些问题,常常需要借助数值方法来求解。
数值方法通过将微分方程离散化为差分方程,然后利用计算机进行数值计算,从而得到问题的数值解。
常用的数值方法包括欧拉法、龙格-库塔法、有限差分法、有限元法等。
总之,微分方程方法是数学建模中常用的方法之一,可以描述变化过程和规律,并通过数学分析和数值计算来求解。
2微分方程实验1、微分方程稳定性分析绘出下列自治系统相应的轨线,并标出随 t 增加的运动方向,确定平■衡点, 并按稳定的、渐近稳定的、或不稳定的进行分类:解:(1)由 f (x ) =x=0, f (y ) =y=0;可得平衡点为(0,0),___ 1 0系数矩阵A,求得特征值入1=1,入2=1;0 1p=-(入1+入2)=-2<0 , q=入1入2=1>0;对照稳定性的情况表,可知平■衡点(0, 0) 是不稳定的。
图形如下:(2)如上题可求得平衡点为(0,0 ),特征值入1=-1,入2=2;p=-(入1+入2)=-1<0 , q-入1入2=-2<0;对照稳定性的情况表,可知平■衡点(0, 0) 是不稳定的。
其图形如下:dx⑴dt dtx, y;dxdtdydt dx x, ⑶尸 2y ;晋 dx y, (4) ? 2x;也 dtx+1, 2y.(3) 如上题可求得平■衡点为(0,0 ),特征值入1=0 + 1.4142i,入2=0 -1.4142i; p=-(入1+入2)= 0, q-入1入2=1.4142>0;对照稳定性的情况表,可知平■衡点(0, 0)是不稳定的。
其图形如下:(4) 如上题可求得平衡点为(1,0 ),特征值入1=-1,入2=-2;p=-(入1+入2)= 3>0, q=入1入2=2>0;对照稳定性的情况表,可知平■衡点(1, 0) 是稳定的。
其图形如下:2、种群增长模型一个片子上的一群病菌趋向丁繁殖成一个圆菌落.设病菌的数目为N,单位成员的增长率为r1,则由Malthus生长律有竺r1 N,但是,处丁周界表面的dt那些病菌由丁寒冷而受到损伤,它们死亡的数量与N2成比例,其比例系数为r2, 求N满足的微分方程.不用求解,图示其解族.方程是否有平衡解,如果有,是否为稳定的?解:由题意很容易列出N满足的微分方程:坐r1N r2N; f(N)dt令f(N)=O,可求得方程的两个平■衡点N1=0,N2=「22/r i21 1d2N 1 5 52 (r1 r2N 2) (r1N r2N 2)dt 2进而求得A d2N 令r dt2 2 0可求得N=r2 /4r〔则N=N1 N=N2 N=r22/4r i2可以把第一象限划为三部分,且从下到上三部分中分0,冬dt2.2 2 c dN cdN c dN cdN 0, ;—0, —r 0; —0, ―rdt dt dt dt则可以画出N (t) 的图形,即微分方程的解族,如下图所示:由图形也可以看出,对丁方程的两个平■衡点,其中N1=0是不稳定的;N2=^2 /「;是稳定的o3、有限资源竞争模型1926年Volterra 提出了两个物种为共同的、有限的食物来源而竞争的模型当[b MX h 2X 2)]x dt dX2 电 2(h i X i h 2X 2)]X 2dt假设也 坦,称垣为物种i 对食物不足的敏感度,(1) 证明当x1(t0)>0时,物种2最终要灭亡; (2) 用图形分析方法来说明物种 2最终要灭亡.解:(1)由上述方程组 f (x1) =[b 1〔S' h 2x 2)]x 1=0,f (x2)=电2 (h 1X 1h 2X 2)]X 2=0,可得方程的平■衡点为R (0,0), P 1 (E,0),P 2 (0, M).2 h 2对平衡点P 。
建模实验报告摘要:本实验主要针对建模方法进行研究与探索,分别采用了数学模型、统计模型和物理模型进行建模实验。
实验结果表明,不同的建模方法对于问题的解决和分析具有不同的优势和适用性,选择合适的建模方法能够有效提高问题的解决效率和精确度。
1.引言建模是指将实际问题转化为数学模型、统计模型或物理模型等形式的一种方法。
通过建模,我们可以抽象出实际问题中的关键因素和变量,进一步分析和解决问题。
本实验将重点研究数学模型、统计模型和物理模型的建模方法,并通过实验验证其有效性和适用性。
2.数学模型的建模方法数学模型是以数学的形式描述实际问题的模型。
在本实验中,我们采用了几种常见的数学建模方法,包括代数方程模型、微分方程模型和最优化模型。
2.1 代数方程模型代数方程模型是一种通过代数方程来描述问题的模型。
我们可以采用一系列代数方程来表示问题中的变量和关系,进而通过求解方程组来得到问题的解。
在实验中,我们以一个简单的线性方程组作为例子,通过代数方程模型计算方程组的解。
2.2 微分方程模型微分方程模型是一种通过微分方程来描述问题的模型。
微分方程可以描述问题中的变量和其变化率之间的关系。
在实验中,我们以一个经典的弹簧振动模型为例,通过微分方程模型求解系统的振动频率和振幅。
2.3 最优化模型最优化模型是一种通过寻找最优解来描述问题的模型。
最优化模型可以用于解决各种优化问题,如线性规划、整数规划等。
在实验中,我们以一个简单的线性规划问题为例,通过最优化模型求解问题的最优解。
3.统计模型的建模方法统计模型是一种通过统计理论和方法来描述问题的模型。
在本实验中,我们主要研究了回归分析和时间序列分析两种常见的统计建模方法。
3.1 回归分析回归分析是一种通过建立变量之间的回归关系来描述问题的模型。
在实验中,我们以一个销售数据的回归分析为例,通过建立销售额和广告投入之间的回归关系,预测未来的销售额。
3.2 时间序列分析时间序列分析是一种通过统计和数学方法来描述时间序列的模型。
数学建模作业(实验2微分方程实验)基本实验1.微分方程稳定性分析绘出下列自治系统相应的轨线,并标出随t 增加的运动方向,确定平衡点,并按稳定的、渐近稳定的、或不稳定的进行分类:,,,+1,(1)(2)(3)(4);2;2;2.dx dx dx dxx x y x dt dt dt dt dy dy dy dy y y x y dt dt dt dt ⎧⎧⎧⎧==-==-⎪⎪⎪⎪⎪⎪⎪⎪⎨⎨⎨⎨⎪⎪⎪⎪===-=-⎪⎪⎪⎪⎩⎩⎩⎩解答解:(1)由平衡点的定义可得,f (x )=x=0,f (y )=y=0,因此平衡点为(0,0),微分方程组的系数矩阵为1001A ⎡⎤=⎢⎥⎣⎦,显然其特征值为12=1=1λλ,;由根与系数的关系可得:1212()2010p q λλλλ=-+=-<==>,且24p q >,由平衡点与稳定性的各种情况可知,平衡点(0,0)是不稳定的。
自治系统相应轨线为:(2)由平衡点的定义可得,f (x)=-x=0,f (y )=2y=0,因此平衡点为(0,0),微分方程组的系数矩阵为-1002A ⎡⎤=⎢⎥⎣⎦,显然其特征值为12=-1=2λλ,;由根与系数的关系可得:121210-(2<0)p q λλλλ=-+=-<==,,平衡点(0,0)是不稳定的。
自治系统相应轨线为:(3)由平衡点的定义可得,f (x )=y=0,f (y )=-2x=0,因此平衡点为(0,0),微分方程组的系数矩阵为0120A ⎡⎤=⎢⎥-⎣⎦,显然其特征值为121.4142=4142=-1.i i λλ,;由根与系数的关系可得:12120 1.41420()p q λλλλ=-+===>,,由平衡点与稳定性的各种情况可知,平衡点(0,0)是不稳定的。
自治系统相应轨线为:(4)由平衡点的定义可得,f (x )=-x=0,f (y )=-2y=0,因此平衡点为(0,0),微分方程组的系数矩阵为-100-2A ⎡⎤=⎢⎥⎣⎦,显然其特征值为12==-12-λλ,;由根与系数的关系可得:1212()3020p q λλλλ=-+=>==>,且24p q >,由平衡点与稳定性的各种情况可知,平衡点(0,0)是稳定的。
数学建模微分方程模型在数学建模的旅程中,微分方程模型扮演了至关重要的角色。
它们在描述和解决各种实际问题中,从物理学到社会科学,都起到了关键的作用。
在本章中,我们将探讨微分方程模型的基本概念、类型和应用。
微分方程是一种方程,它包含未知函数的导数。
这种方程在描述变化率时非常有用,例如,描述物体的速度或加速度。
在形式上,微分方程可以表示为 y'(x) = f(x, y),其中 y'表示 y的导数,f是一个给定的函数。
根据方程的特点,微分方程可以划分为多种类型,如线性微分方程、非线性微分方程、常微分方程、偏微分方程等。
每种类型的方程都有其特定的求解方法和应用领域。
微分方程在众多领域中都有应用,如物理学、工程学、经济学等。
例如,牛顿第二定律就是一个微分方程,它描述了物体的加速度如何由作用力决定。
人口增长模型、传染病模型等也都依赖于微分方程。
建立微分方程模型通常需要以下步骤:确定模型的目标和变量;然后,根据问题背景和物理规律建立数学模型;通过数值计算或解析解法得出结果。
求解微分方程的方法主要有两种:数值方法和解析方法。
数值方法是通过计算机程序或软件进行数值计算得到近似解,而解析方法是通过求解方程得到精确解。
对于某些类型的微分方程,可能需要结合使用这两种方法。
建立微分方程模型后,我们需要对模型进行评估和检验,以确保其有效性和准确性。
这通常包括对模型的假设进行检验、对模型的预测结果进行验证以及对模型的参数进行估计和调整等。
随着科学技术的发展,微分方程模型的应用前景越来越广阔。
例如,在生物学中,微分方程被用来描述疾病的传播动态;在经济学中,微分方程被用来分析市场供需关系的变化;在工程学中,微分方程被用来模拟复杂系统的行为等。
未来,随着大数据和人工智能等技术的发展,微分方程模型将在更多领域得到应用和发展。
微分方程模型是数学建模中一个极其重要的部分。
通过学习和掌握微分方程的基本概念、类型、应用以及求解方法等,我们可以更好地理解和解决现实生活中的各种问题。
数学建模中的微分方程及其应用研究随着科技的不断发展,数学建模已经成为了一个不可或缺的工具。
数学建模是指将现实问题抽象为数学模型,通过数学方法来预测和解决问题。
微分方程是数学建模中的关键工具之一。
在本文中,我将介绍微分方程在数学建模中的重要性以及其应用研究。
一、微分方程的定义和分类微分方程是描述一个或多个未知函数及其导数之间关系的方程,通常用来描述自然现象。
微分方程可以分为常微分方程和偏微分方程两种。
常微分方程是指只涉及一个自变量的导数的方程,例如:$\frac{dy}{dx}= f(x,y)$偏微分方程是指涉及多个自变量的导数的方程,例如:$\frac{\partial^2 u}{\partial x^2} + \frac{\partial^2 u}{\partial y^2}=0$二、微分方程在数学建模中的重要性微分方程在数学建模中有着广泛的应用。
它可以用来研究自然现象中的变化关系,例如物理学中的运动规律、化学中的反应过程,甚至是医学中的疾病治疗。
通过微分方程的求解,我们可以得到有关系统的重要信息,比如系统的稳定性、解的性质、系统的动态行为等等。
三、常微分方程在数学建模中的应用常微分方程是数学建模中最常见的工具之一。
在数学建模中,解决一个常微分方程通常需要以下步骤:1. 根据问题描述建立数学模型。
2. 对模型中的常微分方程进行求解。
3. 通过解析解或数值解来得到所需的结果。
以下是常微分方程在数学建模中的一些应用:1. 表示天体运动的牛顿运动定律。
牛顿运动定律可以用一个常微分方程来描述:$m\frac{d^2x}{dt^2}= -G\frac{Mm}{r^2}$其中,$m$ 是天体的质量,$M$ 是太阳的质量,$r$ 是天体和太阳之间的距离,$G$ 是万有引力常数,$x$ 是天体相对太阳的位置。
通过求解这个方程,我们可以得到天体的运动轨迹。
2. 描述弹簧振动的简谐运动。
弹簧振动可以用一个常微分方程来描述:$m\frac{d^2x}{dt^2}= -kx$其中,$m$ 是弹簧质量,$k$ 是弹簧的弹性系数,$x$ 是弹簧相对平衡位置的偏移量。
数学建模中的微分方程求解数学建模是将真实世界中的问题抽象成数学模型,利用数学方法求解并得出结论的过程。
微分方程作为数学建模中最常用的数学工具之一,广泛应用于物理、生物、工程等领域,成为数学建模不可或缺的一部分。
本文将着重介绍微分方程在数学建模中的求解方法以及常见的数学模型。
一、常见的微分方程求解方法(一) 分离变量法分离变量法是最基本的微分方程求解方法之一。
对于形如$ \frac{dy}{dx} = f(x)g(y) $的一阶微分方程,我们可以将其分离为$ \frac{dy}{g(y)} = f(x) dx $,进而求解出$ y $的解析解。
例如,对于简单的一阶线性微分方程$ \frac{dy}{dx} + p(x)y = q(x) $,我们可以将其写成$ \frac{dy}{dx} = -p(x)y + q(x) $,然后将$ y $和$ x $分隔开来,即$ \frac{dy}{-p(x)y+q(x)} = dx $,最后将分子和分母积分得到$ y $的解析解。
但是,在实际问题中的微分方程很难一步到位地完成分离变量,需要结合其他的方法。
(二) 特解法特解法是一种特殊的微分方程求解方法,它适用于某些特殊的微分方程。
特解法的思想是先猜出通解的一部分,然后再根据该猜测解答出剩余的部分,得到最终的通解。
例如,对于形如$ y'' + ay' + by = f(x) $的二阶非齐次微分方程,我们可以先猜测一个特解$ y_p $,然后再求出方程的通解$ y = y_c + y_p $,其中$ y_c $是齐次方程的通解。
特解法在实际问题中应用广泛,但对特定问题的适用性并不一定好。
(三) 变量代换法变量代换法是另一种常见的微分方程求解方法,它常用于解决高阶微分方程或无法通过分离变量法解决的微分方程。
变量代换法的思想是将微分方程通过变量代换转化为可分离变量或一阶线性微分方程的形式。
例如,对于形如$ y'' + py' + qy = 0 $的二阶齐次微分方程,我们可以通过变量代换$ z = y' $,将其转化为一阶线性微分方程。
数学建模中的微分方程求解技术第一章概述数学建模是指将实际问题抽象成数学模型,并利用数学方法解决实际问题的过程。
微分方程在数学建模中起着重要作用,而求解微分方程是数学建模中的关键问题之一。
本文将从数学建模中的微分方程求解技术入手,深入探讨微分方程求解的常用方法。
第二章解析解法解析解法是指通过解析公式或定理求解微分方程的方法。
该方法通常适用于一些比较简单的微分方程,如一阶线性微分方程、变量分离形式的微分方程、二阶线性齐次微分方程等。
通过这些公式或定理可以得到微分方程的解析解,使得微分方程的求解变得简便快捷。
第三章数值解法为了解决那些难以用解析方法求解的微分方程,数值解法应运而生。
数值解法是指将微分方程转化为差分方程,利用计算机进行数值计算求解微分方程的方法。
数值解法相比解析解法,其求解精度受固定精度限制,但通常可以算得更精确的近似解,并常常能解决含有非线性项或者涉及材料参数的微分方程。
第四章前向差分法前向差分法是求解微分方程的一种数值解法。
该方法通过将微分方程转化为差分方程,并以该差分方程对每个时间步求解微分方程的数值解。
前向差分法具有计算量小、收敛速度快等优点,但其精度较低。
第五章后向差分法后向差分法是求解微分方程的另一种数值解法。
该方法的思想是通过求解微分方程的逆向差分方程,从而得到微分方程的数值解。
后向差分法相比前向差分法,其精度更高,但计算量相对较大。
第六章结论微分方程是数学建模中的重要部分,其求解技术也是数学建模中比较复杂的问题之一。
解析解法和数值解法是微分方程求解的两种主要方法。
解析解法通常适用于简单的微分方程,而数值解法则相对复杂,但可以处理更加复杂的微分方程。
不同的求解方法在实际应用中可以结合使用,得到更加准确的结果。
因此,对微分方程求解技术的深入研究有助于提高数学建模的精度和实用性。
数学建模实验答案_微分⽅程模型实验07 微分⽅程模型(2学时)(第5章微分⽅程模型)1.(验证)传染病模型2(SI 模型)p136~138传染病模型2(SI 模型):0(1),(0)dik i i i i dt=-= 其中,i (t )是第t 天病⼈在总⼈数中所占的⽐例。
k 是每个病⼈每天有效接触的平均⼈数(⽇接触率)。
i 0是初始时刻(t =0)病⼈的⽐例。
1.1 画~dii dt曲线图p136~138取k =0.1,画出i dt di ~的曲线图,求i 为何值时dtdi达到最⼤值,并在曲线图上标注。
提⽰:fplot, fminbnd, plot, text, title, xlabel 1)画曲线图⽤fplot 函数,调⽤格式如下: fplot(fun,lims)fun 必须为⼀个M ⽂件的函数名或对变量x 的可执⾏字符串。
若lims取[xmin xmax],则x轴被限制在此区间上。
若lims取[xmin xmax ymin ymax],则y轴也被限制。
本题可⽤fplot('0.1*x*(1-x)',[0 1.1 0 0.03]);2)求最⼤值⽤求解边界约束条件下的⾮线性最⼩化函数fminbnd,调⽤格式如下:x=fminbnd('fun',x1,x2)fun必须为⼀个M⽂件的函数名或对变量x的可执⾏字符串。
返回⾃变量x在区间x1本题可⽤x=fminbnd('-0.1*x*(1-x)',0,1)y=0.1*x*(1-x)3)指⽰最⼤值坐标⽤线性绘图函数plot,调⽤格式如下:plot(x1,y1, '颜⾊线型数据点图标', x2,y2, '颜⾊线型数据点图标',…)本题可⽤hold on; %在上⾯的同⼀张图上画线(同坐标系)plot([0,x],[y,y],':',[x,x],[0,y],':');4)图形的标注使⽤⽂本标注函数text,调⽤格式如下:格式1text(x,y,⽂本标识内容, 'HorizontalAlignment', '字符串1')x,y给定标注⽂本在图中添加的位置。
求微分方程的解一、实验目的及意义1. 归纳和学习求解常微分方程(组)的基本原理和方法;2. 掌握解析、数值解法,并学会用图形观察解的形态和进行解的定性分析;3. 熟悉MATLAB 软件关于微分方程求解的各种命令。
二、实验内容1.微分方程及方程组的解析求解法; 2.微分方程及方程组的数值求解法——欧拉、欧拉改进算法; 3.直接使用MATLAB 命令对微分方程(组)进行求解(包括解析解、数值解); 4. 利用图形对解的特征作定性分析。
三、实验步骤1.开启软件平台——MATLAB ,开启MATLAB 编辑窗口; 2.根据微分方程求解步骤编写M 文件 3.保存文件并运行; 4.观察运行结果(数值或图形); 5. 根据观察到的结果和体会写出实验报告。
四、实验要求与任务根据实验内容和步骤,完成以下实验,要求写出实验报告1. 求微分方程0sin 2')1(2=-+-x xy y x 的通解.2. 求微分方程x e y y y x sin 5'2''=+-的通解.3. 求微分方程组⎪⎪⎩⎪⎪⎨⎧=-+=++00y x dtdy y x dt dx 在初始条件0|,1|00====t t y x 下的特解,并画出解函数()y f x =的图形.4. 分别用 ode23、ode45 求上述第 3 题中的微分方程初值问题的数值解(近似解),求解区间为[0,2]t ∈.利用画图来比较两种求解器之间的差异.5. 用 Euler 折线法求解微分方程初值问题⎪⎩⎪⎨⎧=-=1)0(,12'32y y x y y 的数值解(步长h 取0.1),求解范围为区间[0,2].6. 用四阶 Runge-Kutta 法求解微分方程初值问题⎩⎨⎧=-=1)0(,cos 'y x e y y x 的数值解(步长h 取0.1),求解范围为区间[0,3].五. 程序代码及运行结果(经调试后正确的源程序)1. 求微分方程0sin 2')1(2=-+-x xy y x 的通解.程序代码:syms x yfprintf('通解为')y=dsolve('(x^2-1)*Dy+2*x*y-sin(x)=0','x')运行结果:通解为y =(-cos(x)+C1)/(x^2-1)2. 求微分方程x e y y y x sin 5'2''=+-的通解.程序代码:syms x yfprintf('通解为')y=dsolve('D2y-2*Dy+5*y=exp(x)*sin(x)','x')运行结果:通解为y =-1/4*exp(x)*cos(2*x)*sin(x)+1/12*exp(x)*cos(2*x)*sin(3*x)-1/12*exp(x)*sin(2*x)*cos(3*x)+1/4*exp(x)*sin(2*x)*cos(x)+C1*exp(x)*cos(2*x)+C2*e xp(x)*sin(2*x)3. 求微分方程组⎪⎪⎩⎪⎪⎨⎧=-+=++00y x dtdy y x dt dx 在初始条件0|,1|00====t t y x 下的特解,并画出解函数()y f x =的图形. 程序代码:syms x y t[x,y]=dsolve('Dx+x+y=0','Dy+x-y=0','x(0)=1','y(0)=0','t')ezplot(x,y,[0,2]);运行结果:x =1/2*exp(2^(1/2)*t)+1/4*2^(1/2)*exp(-2^(1/2)*t)-1/4*2^(1/2)*exp(2^(1/2)*t)+1/2*exp(-2^(1/2)*t)y =1/4*2^(1/2)*exp(-2^(1/2)*t)-1/4*2^(1/2)*exp(2^(1/2)*t)4. 分别用 ode23、ode45 求上述第 3 题中的微分方程初值问题的数值解(近似解),求解区间为[0,2]t ∈.利用画图来比较两种求解器之间的差异.程序代码:M 函数文件verderpol.m:function xprime=verderpol(t,x)xprime=[-x(1)-x(2); x(2)-x(1)];在程序中调用此函数:clear;y0=[1;0];[t,x]=ode45('verderpol',[0,2],y0); plot(x(:,1),x(:,2),'r-'); hold onclear;y0=[1;0];[t,x]=ode23('verderpol',[0,2],y0); plot(x(:,1),x(:,2),'b-'); 运行结果:5. 用 Euler 折线法求解微分方程初值问题⎪⎩⎪⎨⎧=-=1)0(,12'32y y x y y 的数值解(步长h 取0.1),求解范围为区间[0,2].程序代码:clearf=sym('y-(12*x^2)/y^3');a=0; b=2;h=0.1;n=(b-a)/h+1;x=0; y=1;szj=[x,y];for i=1:n-1y=y+h*subs(f,{'x','y'},{x,y}); x=x+h;szj=[szj;x,y];endszjplot(szj(:,1),szj(:,2),'or-')运行结果:szj =0 1.00000.1000 1.10000.2000 1.20100.3000 1.29340.4000 1.37280.5000 1.43590.6000 1.47810.7000 1.49210.8000 1.46440.9000 1.36621.0000 1.12171.1000 0.38361.2000 -25.30541.3000 -27.83581.4000 -30.61931.5000 -33.68121.6000 -37.04921.7000 -40.75411.8000 -44.82941.9000 -49.31232.0000 -54.24356. 用四阶 Runge-Kutta 法求解微分方程初值问题⎩⎨⎧=-=1)0(,cos 'y x e y y x 的数值解(步长h 取0.1),求解范围为区间[0,3].程序代码:clear;f=sym('y-exp(x)*cos(x)');a=0; b=3; h=0.1;n=(b-a)/h+1;x=0; y=1;szj=[x,y];for i=1:n-1l1=subs(f,{'x','y'},{x,y});l2=subs(f,{'x','y'},{x+h/2,y+l1*h/2});l3=subs(f,{'x','y'},{x+h/2,y+l2*h/2});l4=subs(f,{'x','y'},{x+h,y+l3*h});y=y+h*(l1+2*l2+2*l3+l4)/6;x=x+h;szj=[szj;x,y];endszjplot(szj(:,1),szj(:,2), 'dg-')运行结果:szj =0 1.00000.1000 0.99480.2000 0.97870.3000 0.95090.4000 0.91090.5000 0.85830.6000 0.79330.7000 0.71650.8000 0.62900.9000 0.53291.0000 0.43091.1000 0.32681.2000 0.22561.3000 0.13371.4000 0.05901.5000 0.01121.6000 0.00211.7000 0.04561.8000 0.15821.9000 0.35902.0000 0.67022.1000 1.11712.2000 1.72832.3000 2.53642.40003.57742.5000 4.89162.6000 6.52312.7000 8.52042.8000 10.93592.9000 13.82603.0000 17.2510六.实验总结本次实验的目的是归纳和学习求解常微分方程(组)的基本原理和方法;掌握解析、数值解法,并学会用图形观察解的形态和进行解的定性分析;熟悉MATLAB 软件关于微分方程求解的各种命令。
数学建模实验 二.微分方程实验1. 微分方程稳定性分析绘出下列自治系统相应的轨线,并标出随t 增加的运动方向,确定平衡点,并按稳定的、渐近稳定、或不稳定的进行分类:(1)⎪⎩⎪⎨⎧==;,y dtdy x dt dx (2)⎪⎩⎪⎨⎧=-=;2,y dt dy x dt dx (3)⎪⎩⎪⎨⎧-==;2,x dt dy y dt dx (4)⎪⎩⎪⎨⎧-=-=;2,y dt dy x dt dx(1) 选取平衡点,由,0)(,0)(====y y f x x f 可知为(0,0)系数矩阵为,1001⎥⎦⎤⎢⎣⎡=A 易得特征值,121==λλ则,01.,02)(2121>==<-=+-=λλλλq p 对照稳定性情况表,平衡点是不稳定的。
(2) 根据(1)题所求方法,取平衡点(0,0),易得特征值,02,01,2,121<-=<-==-=q p λλ对照稳定性情况表,可知平衡点是不稳定的。
(3) 取平衡点(0,0),易得特征值,04142.1,0,4142.1,4142.121>==-==q p i i λλ对照稳定性情况表,可知平衡点是不稳定的。
(4) 取平衡点(1,0),易得特征值,022,03,2,121<=>=-=-=q p λλ对照稳定性情况表,可知平衡点是稳定的。
2. 种群增长模型一个片子上的一群病菌趋向于繁殖成一个圆菌落。
设病菌的数目为N ,单位成员的增长率为1r ,则由Malthus 生长率有.1N r dtdN=但是,处于周界表面的那些病菌由于寒冷而受到损伤,它们死亡的数量与12N 成比例,其比例系数为2r 。
求N 满足的微分方程,不用求解,图示其解族,方程是否有平衡接,如果有,是否为稳定? 解:由题可得,N 满足的微分方程为:,)(2121N r N r dtdNN f -==求取平衡点,令0)(=N f ,可得平衡点为(0,2122/r r ),由)).(21(2121212122N r N r N r r dtN d --=-,令,022=dt N d 可求得21224/r r N =, 令212221224/,/,0r r N r r N N ===把第一象限划分为三部分,且分别有.0,0;0,0;0,0222222><<>>>dtNd dt dN dt N d dt dN dt N d dt dN 则微分方程的解族图形如下所示,其中,0=N 是不稳定的,2122/r r N =是稳定的。
实验4常微分方程数值解实验目的:1.练习数值积分的计算;2.掌握用MATLAB软件求微分方程初值问题数值解的方法;3.通过实例学习用微分方程模型解决简化的实际问题;4.了解欧拉方法和龙格——库塔方法的基本思想和计算公式,及稳定性等概念。
实验内容:3.小型火箭初始质量为1400kg,其中包括1080kg燃料,火箭竖直向上发射是燃料燃烧率为18kg/s,由此产生32000N的推力,火箭引擎在燃料用尽时关闭。
设火箭上升是空气阻力正比于速度的平方,比例系数为0.4kg/m,求引擎关闭瞬间火箭的高度,速度,加速度,及火箭到达最高点是的高度,速度和加速度,并画出高度,速度,加速度随时间变化的图形。
解答如下:这是一个典型的牛顿第二定律问题,分析火箭受力情况;先规定向上受力为正数建立数学模型:A燃料未燃尽前,在任意时刻(t<60s)火箭受到向上的-F=32000N,向下的重力G=mg,g=9.8,向下的阻力f=kv^2, k=0.4, v表示此时火箭速度;此时火箭收到的合力为F1=(F-mg-f);火箭的初始质量为1400kg,燃料燃烧率为-18kg/s;此刻火箭质量为m=1400-18*t根据牛顿第二定律知,加速度a=F1/m=(F-mg-f)/(m-r*t)=(32000-(0.4.*v.^2)-9.8.*(1400-18.*t))由此可利用龙格-库塔方法来实现,程序实现如下Function [dx]=rocket[t,x] %建立名为rocket的方程m=1400;k=0.4;r=-18;g=9.8; %给出题目提供的常数值dx=[x(2);(32000-(k*x(2)^2)-g*(m+r*t))/(m+r*t)];%以向量的形式建立方程[a]=(32000-(k*x(2)^2)-g*(m+r*t))/(m+r*t); %给出a的表达式End;ts=0:60; %根据题目给定燃烧率计算出燃料燃尽的时间,确定终点x0=[0,0]; %输入x的初始值[t,x]=ode15s(@rocket,ts,x0); %调用ode15s计算[t,x];h=x(:,1);v=x(:,2);plot(t,x(:,1)),grid; %绘出火箭高度与时间的关系曲线title('h-t');xlabel('t/s');ylabel('h/m'),pause;plot(t,x(:,2)),grid ; %绘出火箭速度与时间的曲线关系title('v-t');xlabel('t/s');ylabel('v/m/s'),pause;a=(32000-(0.4.*v.^2)-9.8.*(1400-18.*t))/(1400-18.*t); plot(t,a),grid; %绘出火箭加速度与时间的曲线关系title('a-t');xlabel('t/s'),ylabel('a/m^2/s'),pause火箭高度随时间变化的曲线火箭速度随时间变化的曲线火箭加速度随时间变化的曲线数据过多,故截取部分如下第一列为时间,第二列为火箭高度,第三列为火箭速度由此可以,在t=60s时,即火箭燃料燃尽瞬间,引擎关闭瞬间,火箭将到达12912m的高度,速度为267,29m,加速度a=0.9m/s^2B燃料燃尽之后,与A 类似,分析受力如下火箭受到向上的F=0向下的重力G=mg,g=9.8,向下的阻力f=kv^2, k=0.4, v表示此时火箭速度;此时火箭收到的合力为F2=(-mg-f);火箭的初始质量为320kg,恒定根据牛顿第二定律,加速度a=F2/m=-g-0.4v^2/320;程序实现如下function [ dx ] = rocket2( t,x ) %建立以rocket2为名的函数dx=[x(2);-9.8-0.4.*x(2).^2/320]; %以向量的形式建立方程ts=60:120; %给出初始时刻,估计终点时刻x0=[12190,267.26]; %给出x初始值[t,x]=ode15s(@rocket2,ts,x0); %调用ode15s计算[t,x]plot(t,x(:,1)),grid; %绘出火箭高度随时间变化的曲线title('h-t');xlabel('t/s'),ylabel('h/m'),pause;plot(t,x(:,2)),grid; %绘出火箭速度随时间的变化曲线title('v-t');xlabel('t/s'),ylabel('v/m/s'),pause;v=x(:,2);a=-9.8-0.4*v.^2/320; %给出加速度的具体表达式plot(t,a),grid; %绘出火箭加速度随时间变化的曲线title('a-t');xlabel('t/s'),ylabel('a/m^2/s'),pause得到的曲线图形如下火箭高度随时间的变化曲线从图中可以大致看出,最高点在13km左右,火箭速度随时间的变化曲线加速度随时间变化曲线如下数据表格大致如下从图表中可以看出,在71s左右速度到达0,即此时到达最高处,高度为13117m加速度为-9.8m/m/s^2;本题总结:这道题是典型的物理牛顿力学的题目,通过受力的正确分析,可以知道,以[h,v]为向量建立微分方程即可求解,h的微分是速度v,速度v的微分是加速度a解题过程中存在的难点是:取值步长不太容易确定,而且是哪种算法不确定,先用ode15s 速度较快,ode23s速度差不太多,其他两种速度较慢,等待时间较长5.一只小船渡过宽为d 的河流,目标是起点A 正对着的另一岸B 点。
实验二:微分方程与差分方程模型Matlab 求解专业年级: 2014级信息与计算科学1班 姓名: 黄志锐 学号:201430120110一、实验目的[1] 掌握解析、数值解法,并学会用图形观察解的形态和进行解的定性分析; [2] 熟悉MATLAB 软件关于微分方程求解的各种命令;[3] 通过范例学习建立微分方程方面的数学模型以及求解全过程; [4] 熟悉离散 Logistic 模型的求解与混沌的产生过程。
二、实验内容1.求微分方程的解析解, 并画出图形,解:使用MATLAB 编程计算得出上述微分方程的解析解为:y =3e x −2x −2其解析解图示如图1所示:图1 解析解图示=+2,(0)1,01y y x y x '=<<MATLAB代码运行结果截图如下所示:2.求微分方程的数值解, 并画出图形,解:使用MATLAB编程计算上述微分方程的数值解,并作出其数值解的图示如图2所示:图2 数值解图示cos0,(0)1,(0)0y y x y y'''+===3.两种相似的群体之间为了争夺有限的同一种食物来源和生活空间而进行生存竞争时,往往是竞争力较弱的种群灭亡,而竞争力较强的种群达到环境容许的最大数量。
假设有甲、乙两个生物种群,当它们各自生存于一个自然环境中,均服从 Logistic 规律。
(1)是两个种群的数量; (2)是它们的固有增长率; (3)是它们的最大容量;(4)为种群乙(甲)占据甲(乙)的位置的数量,并且建立模型如下:)(),(21t x t x 21,r r 21,n n )(12m m .1122;x m x m βα==计算, 画出图形及相轨线图。
解释其解变化过程。
2)121,r r ==设12100,n n ==102010x x ==,=1.5,=0.7,计算, 画出图形及相轨线图。
解释其解变化过程。
解:(1)使用MATLAB 编程实现上述模型,并输入相关参数后,计算得出, 并画出图形及相轨线图如下所示:图3 数值解图示)(),(21t x t x αβ)(),(21t x t x )(),(21t x tx图4 相轨线图详细MATLAB代码如下:由图3、图4可以看出,甲、乙两个生物种群以几乎一致的趋势不断增长,直到达到一个相对稳定的数量。
2 微分方程实验1、微分方程稳定性分析绘出下列自治系统相应的轨线,并标出随t 增加的运动方向,确定平衡点,并按稳定的、渐近稳定的、或不稳定的进行分类:,,,+1,(1)(2)(3)(4);2;2;2.dx dx dx dxx x y x dt dt dt dtdy dy dy dy y y x y dt dt dt dt⎧⎧⎧⎧==-==-⎪⎪⎪⎪⎪⎪⎪⎪⎨⎨⎨⎨⎪⎪⎪⎪===-=-⎪⎪⎪⎪⎩⎩⎩⎩解:(1)根据定义,代数方程组的实根即为系统的平衡点,即P(0, 0),利用直接法判断其稳定性。
在点P(0,0)处,系统的线性近似方程的系数矩阵为1001A ⎡⎤=⎢⎥⎣⎦,解得其特征值λ1=1,λ2=1; p=-(λ1+λ2)=-2<0,q=λ1λ2=1>0;对照稳定性的情况表,可知平衡点(0, 0)是不稳定的。
图形如下:(2)根据定义,代数方程组的实根即为系统的平衡点,即P(0, 0), 利用直接法判断其稳定性。
解得其特征值λ1=-1,λ2=2;p=-(λ1+λ2)=-1<0,q=λ1λ2=-2<0;易知平衡点(0, 0)是不稳定的。
(3)根据定义,代数方程组的实根即为系统的平衡点,即P(0, 0),利用直接法判断其稳定性。
解得其特征值λ1=0 + 1.4142i,λ2=0 - 1.4142i;p=-(λ1+λ2)=0,q=λ1λ2=1.4142;易知平衡点(0, 0)是不稳定的。
(4)根据定义,代数方程组的实根即为系统的平衡点,即P(1, 0),利用直接法判断其稳定性。
解得其特征值λ1=-1,λ2=-2;p=-(λ1+λ2)=3,q=λ1λ2=2;易知平衡点(1, 0)是稳定的。
2、种群增长模型一个片子上的一群病菌趋向于繁殖成一个圆菌落。
设病菌的数目为N ,单位成员的增长率为r1,则由Malthus 生长律有1dNr N dt=⋅,但是,处于周界表面的那些病菌由于寒冷而受到损伤,它们死亡的数量与N 1/2成比例,其比例系数为r2,求N 满足的微分方程.不用求解,图示其解族.方程是否有平衡解,如果有,是否为稳定的?解:根据题意列出N 满足的微分方程:1212dNr N r N dt =- (1)得到其解为N 1=0, N 2=2221/r r ; 由(1)得:11222121221()()2d N r r N r N r N dt -=-⋅- (2)解得N=2221/4r r画出N (t )的图形,即微分方程的解族,如下图所示:可以判断出其中N 1=0是不稳定的;N 2=2221/r r 是稳定的。
3、单种群开发模型考虑单种群开发方程:1-x-Ex dx x r dt N=() 在不求解的情况下,绘出其解族曲线。
(2)用数学表达式证明:在稳定状态下,最优捕捞率为E*= 2r解:由本问题的目标出发,渔场中鱼量达到稳定的平衡状态时的情形,不必知道每一时刻的鱼量变化情况,故不需要解出方程,只需要讨论方程的平衡点并分析其稳定性。
平衡点:满足F(x)=1-x-Ex dx x r dt N=()= 0 (1) 的点称为方程的平衡点。
解得的两个平衡点为:0(1)Ex N r=-,10x =容易算出两个解E-r 和r-E称平衡点是稳定的是指:对方程(1)的任一个解()x x t =,恒有lim ()*t x t x →∞= (2)判断平衡点x *是否稳定,可根据一阶近似方程:()'(*)(*)dxF x F x x x dt=⋅- (3) 判断。
该方程的一般解为:(*)()*F x t x t C e x =⋅+于是有下述结论:若F'(x*)<0,则x *是稳定平衡点;若F'(x*)>0,则x *不是稳定平衡点。
应用上述近似判别法,所以有当E<r 时, 01F'(x )<0,F'(x )>0⇒ x 0是稳定平衡点,x 1不是;当E>r 时, 01F'(x )>0, F'(x )<0⇒ x 0不是稳定平衡点,x 1是;结果分析:当捕捞适度(即:E<r)时,可使渔场产量稳定在0(1)Ex N r=-, 从而获得持续产量Ex 0,而当捕捞过度(即:E>r )时,渔场产量将减至x 1=0,破坏性捕捞,从而是不可持续的。
进一步讨论:如何控制捕捞强度E 使得持续产量Ex 0最大:00()(1)E h x Ex N E r==-2(1)02m dh E r N E dx r =-=⇒= 结论:最优捕捞率为*2rE = 。
4、Gompertz 模型设渔场鱼量增长服从Gompertz 模型:xNrx dt dx ln =,其中r 为固有增长率,N 为最大种群数量。
若单位时间捕捞量为Ex h =.讨论渔场鱼量的平衡点及其稳定性,求最大持续产量m h 及获得最大产量的捕捞强度m E 和渔场鱼量水平*0x。
解:()t x 变化规律的数学模型为()Ex xNrx dt t dx -=ln 记 Ex xNrx x F -=ln )( (1) 令()0=x F ,得0ln=-Ex xNrx rENex -=0,01=x .则有平衡点为1,0x x . 又()E r xNr x F --=ln',()()∞=<-=1'0',0x F r x F . 推出平衡点o x 是稳定的,而平衡点1x 不稳定.(2)最大持续产量的数学模型为:⎪⎩⎪⎨⎧≠=-=.0,0ln ..max x Ex x N rx t s Ex h Ex()x f由前面的结果可得 rE ENeh -=r Er Ee r EN Ne dE dh ---=,令.0=dEdh 得到最大产量的捕捞强度r E m =, 从而得到最大持续产量e rN h m /=,此时渔场鱼量水平eNx =*0。
5、有限资源竞争模型:微分方程1111112222221122[(1)][(1)]dx x a c b x b x dt dx x a c b x b x dt⎧=-+--⎪⎪⎨⎪=-+--⎪⎩是两个物种为了共同的有限资源而竞争的模型,假设c1>a1,c2>a2。
试用微分方程稳定性理论分析:(1)如果1212a a c c >,则1()0();x t t →→∞(2)如果1212a a c c <则2()0();x t t →→∞(3)用图形分析方法来说明上述两种情况解:(1)令111111122222221122()[(1)]0()[(1)]0dx f x x a c b x b x dt dx f x x a c b x b x dt ⎧==-+--=⎪⎪⎨⎪==-+--=⎪⎩得方程的平衡点为P 0(0,0),P 1(1111c a c b -,0),P 2(0, 2222c ac b -). 对平衡点P 0(0,0),系数矩阵112200c a A c a -⎡⎤=⎢⎥-⎣⎦ 又c 1>a 1,c 2>a 2则p=-[(c 1-a 1)+(c 2-a 2)] <0,所以该平衡点不稳定。
以此类推:对平衡点P 1(1111c ac b -,0):系数矩阵211111112111()()0b c a a c b A c a c a c c -⎡⎤--⎢⎥⎢⎥=-⎢⎥-+-⎢⎥⎣⎦则p=2112111a c c a c a c --+,q= 11211221)()[())]a c c a c a c -----(c ,若1212a a c c >,且假设c1>a1,c2>a2,则q<0不稳定而对于P2(0, 2222c a c b -),有p>0,且q>0稳定,此时1()0();x t t →→∞,说明物种1最终要灭亡。
(2) 而如果1212a a c c <的情况下则方程在P1(1111c a c b -,0)稳定,其他点不稳定,此时2()0();x t t →→∞说明物种2最终会灭亡。
6、考虑Lorenz 模型'1123'223'31223()()()()()()()()()()()()x t x t x t x t x t x t x t x t x t x t x t x t βσσρ⎧=-+⎪=-+⎨⎪=-+-⎩ 其中σ=10,ρ=28,β=8/3,且初值为,x 1(0)=x 2(0)=0,x 3(0)=ε,ε为一个小常数,假设ε=10-10,且0≤t≤100。
(1)用函数ode45求解,并画出x2~x1,x2~x3,x3~x1的平面图; (2)适当地调整参数σ,ρ,β值,和初始值x 1(0),x 2(0)=0,x 3(0),重复一的工作,看有什么现象发生。
解:1 .建立自定义函数,在edit 中建立“Lorenz.m”的M 文件.程序如下:function dy = Lorenz(~,y) dy=zeros(3,1);dy(1)=10*(-y(1)+y(2));dy(2)=28*y(1)-y(2)-y(1)*y(3); dy(3)=y(1)*y(2)-8*y(3)/3; end2.在edit 中建立“Lzdis.m”的M 文件,用来求解和绘图。
程序如下:[t,y]=ode45('Lorenz',[0,30],[12,2,9]); figure(1) plot(t,y(:,1)) figure(2) plot(t,y(:,2)) figure(3) plot(t,y(:,3)) figure(4)plot3(y(:,1),y(:,2),y(:,3)) plot3(y(:,1),y(:,2),y(:,3)) 3.运行得到如下的结果:Figure(1)是y(1) 即x 1 关于t 的变化关系图0510********-20-15-10-505101520Figure(2)是y(2) 即x 2关于t 的变化关系图Figure(3)是y(3) 即x 3关于t 的变化关系图51015202530-25-20-15-10-5051015202505101520253051015202530354045Figure(4)为)x\1\x2 x3的空间关系图4.验证“蝴蝶效应”洛伦兹方程的解对初始值十分敏感,现对x2的初始值稍加修改,将2改为2.01和1.99,让后求解x3的数值解。
用edit命令建立“lzsensi.m”的M文件,程序如下:clfhold[t,u]=ode45('Lorenz',[0 15],[12,2,9]);plot(t,u(:,3),'Color','r');[t,v]=ode45('Lorenz',[0 15],[12,2.01,9]);plot(t,v(:,3),'Color','b');[t,w]=ode45('Lorenz',[0 15],[12,1.99,9]);plot(t,w(:,3),'Color','k');运行得到不同初始条件下的x3关于t的图形:黑色线(k )表示初值条件为[12,1.99,9]时的x 3-t 图形 绿色线(b )表示初值条件为[12,2,9]时的x 3-t 图形 红色线(r )表示初值条件为[12,2.01,9]时的x 3-t 图形容易看出:随着时间的推移,三条曲线的吻合程度越来越差,差距越来越大,变化也越来越不明显,成为混沌状态。