如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
常微分方程:1ODE解算器简介(ode**)2微分方程转换3刚性/非刚性问题(Stiff/Nonstiff)4隐式微分方程(IDE)5微分代数方程(DAE)6延迟微分方程(DDE)7边值问题(BVP)偏微分方程(PDEs)Matlab解法偏微分方程:1一般偏微分方程组(PDEs)的命令行求解2特殊偏微分方程(PDEs)的PDEtool求解3陆君安《偏微分方程的MATLAB解法先来认识下常微分方程(ODE)初值问题解算器(solver)[T,Y,TE,YE,IE]=odesolver(odefun,tspan,y0,options)sxint=deval(sol,xint)Matlab中提供了以下解算器:HYPERLINK"http://www.matlabsky.com/attachment.php?aid=ODc5fDA0YTViNjQ5fDEyNjM5MDE3NDN8OGJhNmdXUDJDQXJnL3FOUlltbVEzNWR4OXVoVFlRUUVNSGRuZUdaOVBHVHJ0dzg%3D¬humb=yes"\o"p1.jpg"\t"_blank"下载(127.75KB)2009-1-1011:03输入参数:odefun:微分方程的Matlab语言描述函数,必须是函数句柄或者字符串,必须写成Matlab规范格式(也就是一阶显示微分方程组),这个具体在后面讲解tspan=[t0tf]或者[t0,t1,…tf]:微分变量的范围,两者都是根据t0和tf的值自动选择步长,只是前者返回所有计算点的微分值,而后者只返回指定的点的微分值,一定要注意对于后者tspan必须严格单调,还有就是两者数据存储时使用的内存不同(明显前者多),其它没有任何本质的区别y0=[y(0),y’(0),y’’(0)…]:微分方程初值,依次输入所有状态变量的初值,HYPERLINK"http://www.matlabsky.com/thread-534-1-1.html"\t"_blank"什么是状态变量在后面有介绍options:微分优化参数,是一个结构体,使用odeset可以设置具体参数,详细内容查看帮助HYPERLINK"http://www.matlabsky.com/attachment.php?aid=ODgwfDMyZGIyYzI3fDEyNjM5MDE3NDN8OGJhNmdXUDJDQXJnL3FOUlltbVEzNWR4OXVoVFlRUUVNSGRuZUdaOVBHVHJ0dzg%3D¬humb=yes"\o"p2.jpg"\t"_blank"下载(73.41KB)2009-1-1011:03输出参数:T:时间列向量,也就是ode**计算微分方程的值的点Y:二维数组,第i列表示第i个状态变量的值,行数与T一致在求解ODE时,我们还会用到deval()函数,deval的作用就是通过结构体solution计算t对应x值,和polyval之类的很相似!参数格式如下:sol:就是上次调用ode**函数得道的结构体解xint:需要计算的点,可以是标量或者向量,但是必须在tspan范围内该函数的好处就是如果我想知道t=t0时的y值,不需要重新使用ode计算,而直接使用上次计算的得道solution就可以HYPERLINK"http://www.matlabsky.com/forumdisplay.php?fid=8&filter=type&typeid=5"[教程]微分方程转换为一阶显示微分方程组方法好,上面我们把Matlab中的常微分方程(ODE)的解算器讲解的差不多了,下面我们就具体开始介绍如何使用上面的知识吧!现实总是残酷的,要得到就必须先付出,不可能所有的ODE一拿来就可以直接使用,因此,在使用ODE解算器之前,我们需要做的第一步,也是最重要的一步,借助状态变量将微分方程组化成Matlab可接受的标准形式(一阶显示常微分方程)!如果ODEs由一个或多个高阶微分方程给出,则我们应先将其变换成一阶显式常微分方程组!下面我们以两个高阶微分方程构成的ODEs为例介绍如何将之变换成一个一阶显式常微分方程组。step1.将微分方程的最高阶变量移到等式的左边,其他移到右边,并按阶次从低到高排列,假如说两个高阶微分方程最后能够显式的表达成如下所示:HYPERLINK"http://www.matlabsky.com/attachment.php?aid=ODQwfDQ3NzkwYWE4fDEyNjM5MDE3ODl8ZjM1YTd4bTVWZitzbGI0UmdjZWx4VGtwamlqZjhEUTFURWJITFlNWFZOSmx5c2M%3D¬humb=