MATLAB |
您所在的位置:网站首页 › matlab解微分方程的通解 › MATLAB |
用matlab方法求解常微分方程
欧拉法
对于一阶常微分方程 对应的改进的欧拉公式为 对应的matlab代码为 function [x,y]=euler(fun,x0,xfinal,y0,n) %检查是否有足够的输入参数值传入函数。 %如果输入参数的数量小于 5,说明用户没有提供 n 的值, %那么将默认将 n 设置为 50。 if nargin> dsolve('Dy=3*x^2','x') ans = x^3 + C2 >> dsolve('Dy=3*x^2','y(0)=2','x') ans = x^3 + 2 ode函数(ode23,ode45,ode113使用方法) 符号介绍D:微分符号;D2:二阶微分;D3:三阶微分 上文中的dsolve函数存在大量常微分方程。从理论上讲,解是存在的但无法求出解析解(就i是一些严格的公式)。因此,但现在要寻求数值解(利用有限元或插值等方法求得的近似解)。 《数值分析》 例如求解微分方程 ode是matlab专门用于求解微分方程的功能函数。该求解器有变步长和定步长两种类型。 ode45 4、5阶R-K方程首选,没用的话换ode15sode232、3阶R-K方程精度较差ode113多部算法计算时间短 下面以ode45为例介绍用法 函数格式[T,Y]=ode45('odefun',tspan,y0) [T,Y]=ode45('odefun',tspan,y0,options) [T,Y,TE,YE,IE]=ode45('odefun',tspan,y0) sol=ode45('odefun',[t0 tf],y0...) 其中: ode是函数句柄,函数文件名,匿名函数句柄,内联函数名 tspan是求解区间[t0 tf] y0是初始值向量 T是返回列向量的时间点 Y是对应T的求解列向量 options是求解参数设置 TE 事件发生事件 YE 事件发生时的答案 IE事件函数消失时的指针i 例题: 利用ode45求解高阶微风方程时,需要做变量替换。 微分方程为 初始条件 首先做变量替换 原微分方程可以转换为下面的微分方程组格式: 下面就可以利用转化好的微分方程组来编写odefun函数 例题:求解常微分 先编写odefun函数: 令 则微分方程可以转换为: 在区间[3,9,4]内求解常微分方程 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |