如何判断偏微分方程是线性还是非线性时间序列的判断的

5993人阅读
求解非线性微分方程
总结一下MATLAB中求解微分方程的思路和步骤。固然,网上很多关于此类的技术型文章,但往往一看下来发现,文章中的友情链接比文章字数还多,要了解这一篇文章,你要先了解那个;要了解那个,你又要了解那个那个;以此类推。了解完了,花都谢了。我在这里要写的是娱乐型文章,即试图用最少的字数陈述出MATLAB的求解微分方程方法,看完后可以记得清楚且不亦乐乎。其实个人十分推荐MATLAB中的帮助文件,内容实在是特别给力,简明的不能再简明了。可惜了是英文写的,即使是天天要面对英语的我,也颇为头疼。那么以下我将结合我对MATLAB中帮助文档的理解,提出我对求解最简单微分方程的方法的总结。以求解一个经典的非线性方程为例。
&&&&&&&&&做一个最基本的假设:你们都看过高数。
一。老湿发话了:童鞋们,求解一下这个方程,判断她是否稳定。要是稳定,那么她是否存在极限环:
一看明白了,这不就是传说中的范德普方程。地球人都知道她稳定并有极限环。现在我们就看看如何用MATLAB求解她的轨迹。
二。一般的计算机求解方程的方法无外乎是这样:首先把该方程改写成一个规范的形式,一般使用状态空间表示法;而后调用已有的算法进行求解;最后对得出的结果进行处理,比如画图之类的。接下来就对这三大步分别作出解释。
三。输入待求解的方程。
&&&&&&&&&首先我们知道,状态空间的标准形式(自由系统)是:
这里X是列向量,F是作用于列向量的函数,可以是线性也可以是非线性。范德普方程可以改写成这样的标准形式:
MATLAB中关于输入输入待解方程的语句特别简单。需要先定义一个普通函数,函数名任意,姑且叫做myFcn,格式如下
function xdot = myFcn (t, x)&&
需要注意的是,函数必须含有t, x两个参数,名称可以自己任意定。xdot是这个函数本身的返回值,只出现在这个函数内部,因此也可以任意定。
定义中的x被视为是一个列向量,x(i)表示列向量中的第i个分量。那么F函数的每一个分量即简单地用表达时给出即可。其中的自变量可以引用x(i)。以范德普方程为例:
xdot = [x(2) ; u(1-x(1)^2)*x(2)-x(1)]&&
于是,这两句话便构成了待解函数。
四。调用MATLAB函数进行求解
&&&&&&&&&通常人工求解微分方程需要知道初始值,计算机求解也不例外。另外,由于非线性方程一般只有数值解,故计算精度也可以调整。这些都是可以自己调整的参数。
&&&&&&&&&调用MATLAB计算求解常微分方程的模式很简单,格式为:
[t, x] = ode45(@myFcn, [开始时间&结束时间],
[初始值列向量], options)
注意到求解出来的结果是[t, x]即一堆数,所以需要我们进行后处理比如画图之类的。
ode45表示了MATLAB中的一种内置计算微分方程的算法,最为常用,出于娱乐目的,就先用这个。
@表示待求解的方程,如myFcn。
[开始时间&结束时间]表示求解的时间段,不必定义间隔。
[初始值列向量]就不用多说了。通常在求解之前定义一个变量x0列向量表示初始值,然后输入起来就方便多了。
options本身是一个变量。注意,她的名称不固定,但是他是一个以结构体为类型的变量。options很重要,稍后讨论。
五。进行后处理。在得到[t, x]后可以自己用plot神马的进行画图。不过我一般不这样,各位看官不必惊慌。
六。options的用法。
&&&&&&&&&options在MATLAB帮助中是这样定义格式的:
&&&&&&&&&options = odeset (“Name”, Value, “Name”, Value, …)
&&&&&&&&&意思是,options这个变量要用到odeset这个函数来对他进行赋值。而odeset这个函数的参数必须是成对出现的:一个名称对应一个数值。
&&&&&&&&&我们要用到的是这样的:
&&&&&&&&&options= odeset(“OutputFcn”, @odephas2, “reltol”, 1e-5);
注意,odeset中的参数名称不可任意定,因为都是预定义好的。”OutputFcn”使用预定义的函数进行输出,而与定义的函数有好几种,使用@进行选择,我们选odephas2即画相平面图(phase
portrait)。之后的那个参数表示相对误差的最大允许值,不说也明白。
&&&&&&&&&有一个问题,用odephas2画出的图图不好看,因为上面打了好多圈圈。解决办法是找到该文件,修改其中所有的plot语句即可,把那个”-o”去掉就行了。
七。就是这个样了。总结一下,求解范德普方程可以用如下语句:
首先是函数定义:
function xdot = myFcn (t, x)
xdot = [x(2) ; u(1-x(1)^2)*x(2)-x(1)]
其次是主程序:
% Solving options predetermined
options=odeset('OutputFcn',@odephas2,'reltol',1e-5);
% Solving vdp equation withdifferent ini conditions
for a = -3 : 0.1 : 3&&&
&&&b1=sqrt(25-a^2);
&&&b2=-sqrt(25-a^2);
&&&% Solve the problem
&&&[t,y]=ode45(@myFcn, [0 20], [a b1], options);
&&&hold on
&&&[t,y]=ode45(@myFcn, [0 20] ,[a b2], options);
&&&hold on&&&&
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:66873次
排名:千里之外
转载:23篇
(1)(1)(2)(6)(9)(3)(3)(1)(1)登录网易通行证
使用网易通行证(含网易邮箱)帐号登录
提交您的投诉或建议
视频画面花屏
视/音频不同步
播放不流畅
登录后才能查看我的笔记
暂时没有笔记!
确定删除笔记?
即将播放下一集,请您保存当前的笔记哦!
对字幕纠错要登录哦!
内容不能少于3个字
不同于一般常微分方程课程千篇一律地从分离变量和一阶线性方程讲起,MIT《微分方程》第一讲就以独特的视角从全局的角度诠释了微分方程的内涵。课程从方向场和积分曲线入手,深入透彻地剖析了微分方程的实质。一上来,撇开那些有解的特殊的微分方程不谈,却从几何方向通俗易懂,而又全面深入地告诉我们什么是微分方程,解微分方程其实是什么。
老头爽约了,他没有按之前说的,讲线性方程的解法,而是开始讲数值方法。按他自己的话说:“线性方程还是推迟到下一讲吧,多数微分方程都是通过数值方法解出来的,先讲这个更好”。他还说:“现在已经是二十一世纪了,计算机都能帮你搞定”。听了他的课才领略,数学不只是那几个臭公式,更重要的是应用。听了他的课,让人深刻地意识到,计算机和数学之间的联系如此紧密。
这一讲的主要内容是一阶线性ODE:y'+p(x)y=q(x),及其解法积分因子法。这一讲通过两个实际问题——“热传导问题”和“溶液浓度扩散问题”,引出了ODE中“最重要”的一节线性微分方程,并透彻讲解。
这一讲介绍换元法(或译作代换法,substitution method),并以此为思想将某些特定形式的一阶方程转化为可分离变量方程或线性方程。本讲用换元法解决了两类特定的一阶方程,即伯努利方程和齐次方程。伯努利方程y'=p(x)y+q(x)yⁿ,通过换元化为可分离变量方程。齐次方程y'=F(y/x),令z=y/x可化为线性方程。
这一讲的主题是一阶自治方程y'=f(y)。这一讲不涉及到此类方程的解法,转而考虑在不求解方程的前提下,进行定性分析,直观地获得方程的相关信息,从而避免了由于积分复杂造成不必要的无用功。这一讲还详细讲解了自治方程的一些实用模型:银行存款模型、人口增长模型。
复数在ODE中应用相当广泛。这一讲从复数的运算着手,落脚于复数的极坐标形式。围绕欧拉公式e^iθ=cosθ+isinθ展开,从各个方面详细介绍了这种美妙形式的由来。这一讲还利用复指数巧妙地解决了∫e^x(sinx)dx这种指数、三角函数混合型积分,方法效率远大于常规的分部积分法。
这一讲特别介绍了一阶常系数线性方程y'+ky=q(t),并解释了k&0时稳态和暂态的内涵。特别地,这一讲强调了y'+ky=kq(t)形式的方程及在相应模型中的应用,并引入输入-响应的概念。最后以正弦波输入作为例子,讲解了分析和求解此类方程的复方法。
这一讲继续强调一阶常系数线性方程和复数思想。特别强调了正弦输入的情况,并巧妙地通过向量法和复数法给出了三角恒等式acosθ+bsinθ=Ccos(θ-φ)的证明。这一讲的最后,用温度、混合、RC电路、衰变和增长等多个模型为一阶常系数线性方程画上了完美的句号。
这一讲的主题是二阶常系数齐次线性ODE:y''+Ay'+By=0。这种方程在实际中对应弹簧-质量-阻尼系统,其一般性解法是代入e^(rt),然后通过特征方程r²+Ar+B=0求出r。根据特征方程根的性质,分为两个不同实根、二重实根和复根三种情况,分别对应过阻尼、临界阻尼和欠阻尼三种情况。
这一讲首先深入讲解了二阶常系数齐次线性常微分方程y''+Ay'+By=0的解如何在实解和复解之间进行转换。然后将方程化为具有物理意义的形式的振动方程y''+2py'+ω²y=0,分别讨论了无阻尼情形(p=0)时解的性质和意义,以及阻尼情况下解的性质和振动的情况。
这一讲的讨论对象是二阶齐次线性方程y''+p(x)y'+q(x)y=0,讨论了其通解的性质,为何用两个线性独立的解就能表示所有解,而且所有解都在通解的集合内。并解释了叠加原理、唯一性定理、朗斯基行列式等概念。
这一讲的重点是二阶非齐次线性方程y''+p(x)y'+q(x)y=f(x)。首先是将f(x)看成输入或驱动,用弹簧和电路两个例子强调方程的重要性。然后用线性算子,描述了解的一般形式和结构。这一讲的另一个重点是暂态和稳态,在什么条件下对二阶线性方程成立,教授用一句精辟的结论总结了这个问题。
本讲用算子方法求解高阶非齐次线性方程p(D)y=e^(αx),α为复数,p(D)为D的多项式。考虑p(α)≠0时,特解为e^(αx)/p(α)[用到了代换法则];p(α)=0时,需要分情况讨论,其中单根时,特解xe^(αx)/p'(α)[用到指数位移法则]。
这一讲是关于共振的。为什么输入频率等于固有频率时,振幅会达到最大?教授从微分方程和数学的角度解释了这个问题。之后教授讲解了带阻尼情况下的&共振&,考虑了输入频率和阻尼伪频率之间什么关系时,才能实现这种&共振&。
傅里叶级数在数论、组合数学、信号处理、概率论、统计学、密码学、声学、光学等领域都有着广泛的应用。这一讲首先介绍以2π为周期的函数f(t)可以写作c0+∑(ancosnt+bnsinnt)的傅里叶无穷级数形式。教授通过三角函数正交关系的证明,给出了an和bn的表达式。
这一讲是上一讲的续集,首先考虑了奇函数和偶函数两种情况,讲解了傅里叶级数在这些情况下如何简化运算(以及如果将积分简化到半个周期内)。然后将2π周期延伸到了任意周期2L的情况。最后课程介绍了非周期函数的延伸,任意有限区间都可以用到傅里叶级数。特别地,教授还讲到了傅里叶级数和泰勒级数着眼点的异同。
这一讲主题是利用傅里叶级数求x''+ω0²x=f(t)的特解,其中f(t)化为傅里叶级数,通过sin和cos的可解性来求特解。这一讲采用了方波的例子,告诉我们方程的输入响应系统是如何自然选出与固有频率最接近的共振项的,并以此简单介绍了人耳识别乐音的机理。
记得幂级数吧,如1/(1-x)=Σ(x^n)、e^x=∑(x^n/n!),考虑某种变换,让两个幂级数的系数1和1/n!分别对应于f(x)=1/(1-x)或f(x)=e^x,这很容易。其实拉普拉斯变换与这是对应的。教授用这种深入浅出的讲解,让我们了解了拉普拉斯变换的由来。然后分别计算了1、e^at、cos(at)等几种常见函数的变换,并讲解了指数位移的重要公式。大名鼎鼎的拉普拉斯变换,其实并不难。
这一讲的主要目标是用拉氏变换求解线性ODE,特别的,解y''+py'+qy=f(t)形式方程。为此,教授首先引入导数的拉氏变换公式,即已知y(t)经过拉氏变换得到Y(t),那么y'及y''如何用Y(t)来表示。拉氏变换解法也就是方程两边同时进行拉氏变换,然后求解得到的代数方程,之后运用部分分式,最后用拉氏逆变换求出解y(t)。
这一讲引入了卷积公式f(t)*g(t)=∫f(u)g(t-u)du。教授从两个方面介绍了卷积的由来和用途:理论方面,卷积和拉氏变换密切相关,L(f)L(g)=L(f*g),卷积由拉氏变换乘积关系的自然产生;实践方面,卷积最普遍的例子是用作放射物质倾泻的积累量问题。教授另外还举了三个实际例子。这一讲全面剖析了卷积公式,并做到了真正的深入浅出。
这一讲主要是讲跳跃式不连续函数u(t)=1(t&0); 0(t&0)的情况,重新定义拉普拉斯逆变换的唯一性,即L(u(t))=1/s。之后教授讲到了函数平移之后的拉普拉斯变换如何进行,之后推广到更一般的不连续输入问题。最后教授以几个实用的例题作结。
这是一阶方程组的第一讲,首先引入了形如x'=f(x,y,t);y'=g(x,y,t)的一阶方程组。教授讲了一些实际用到一阶方程组的例子,然后利用煮鸡蛋的例子,演示了如何用比较直观的消元法来求解。最后教授给出了速度场的几何解释。
这一讲继续以矩阵形式x'=Ax讨论常系数齐次线性方程组。课堂上引入了重复实特征值和复特征值两种特殊情况,即特征方程解出重根或复根的情况,两种情况教授分别举出一个实际例子进行讨论。一个是鱼缸温度传递的例子,一个是苏飞传中的爱情例子,引起满堂哄笑。
这一讲教授讲到了2x2常系数齐次线性方程组各种情况的图像,以此希望给学生一个比较直观的感受,此类方程组解是什么样子。为此,教授引入了两州旅游竞争模型,分别就特征方程中存在两负实根、一正一负实根、以及复根的三种情况给出了方程组解的草图。
这一讲过渡到非齐次方程组,还是以2x2常系数方程组为例,以矩阵形式x'=Ax+r进行讲解。首先,教授介绍了两个相关定理,为求解做了铺垫。然后介绍了x'=Ax的基本矩阵X。最后通过参数变分的方法,给出了非齐次方程组的特解xp=X∫X^(-1)rdt。
这一讲给出了齐次微分方程组x'=Ax的解的一般公式,即用矩阵指数e^(At)表示基本矩阵X。同单个微分方程x'=ax中,a可以看作是1x1矩阵,其解是e^at。这里就是方程组在nxn矩阵上的推广,以此引入矩阵指数及其在解方程组中的应用。
这一讲给出了齐次线性微分方程组x'=Ax的解耦解法,这是第三种方法。由于在自科和工程领域,方程组通常具有物理意义,解耦解法能偶提供对解更为本质的认识,因此教授将其作为这一讲的主题。首先是一个实际例子,然后是一般方程组的解法。
[第31课]非线性自治系统
这一讲介绍非线性的情况,主要是通过轻微阻尼的非线性摆的例子,介绍了该情况下如何求临界点,并作轨迹草图。简谐振动中,摆使用的是小角近似为线性情况,这一讲是一个推广,摆使用的不一定是小角,不过仍然通过线性化得到解释。
这一讲的主题是极限环,首先教授给出了极限环的定义,它首先是方程组的解形成的一条闭合轨迹,另外它不同于一般闭合轨迹,它必须是附近轨迹在t趋于无穷时逼近的轨迹。然后教授介绍了极限环何时不存在的两个准则,分别是本迪克松准则和临界点准则,证明本迪克松准则时,证明过程中涉及了反证法,以及逆否命题逻辑。最后教授介绍了极限环的一些历史,并用他经历的一个有趣故事结束了本课,与某位中国教授有关。
本课的一开始,教授介绍了非线性自治方程组和一阶常微分方程之间的关系,指出一阶常微分方程只是方程组消去时间t的信息的结果,同时也让大家明白了速度场与方向场、轨迹与积分曲线之间的联系。然后教授通过建立捕食者-猎物模型的一个非线性方程组,引出一个问题:边界线情形,即当方程组参数处于特征方程两个区域的边界时,参数小的变动可能造成临界点的几何类型完全不同,所以在做方程组线性化时,近似就会带来方程类型无法确定的问题。所以使方程组退化的一个优势就体现出来:消去t使得有时方程变得可解,并避开边界线情形,教授用这个方法解出了方程组,并引出一个结论:沃尔泰拉法则,即人类对自然盲目的干预,很可能造成灾难或适得其反的结果。
学校:麻省理工学院
讲师:Prof. Arthur Mattuck
授课语言:英文
类型:数学 国际名校公开课
课程简介:微分方程是一门表述自然法则的语言。理解微分方程解的性质,是许多当代科学和工程的基础。学习内容包括:利用解释、图形和数值方法求解一阶常微分方程,线性常微分方程,不定系数和参变数,正弦和指数信号,复数和幂,傅立叶级数,周期解,Delta函数、卷积和拉普拉斯变换方法,矩阵和一阶线性系统,非线性独立系统。
扫描左侧二维码下载客户端

我要回帖

更多关于 一阶非线性偏微分方程 的文章

 

随机推荐