MATLAB

您所在的位置:网站首页 matlab解微分方程的通解 MATLAB

MATLAB

2024-07-11 13:01| 来源: 网络整理| 查看: 265

用matlab方法求解常微分方程 欧拉法

对于一阶常微分方程

\begin{cases}y'=f(x,y)\\y(x_0)=y_0\end{cases}

对应的改进的欧拉公式为

\begin{cases}y_p=y_n+hf(x_n,y_n)\\y_q=y_n+hf(x_n+h,y_p)\\y_{n+1}=\dfrac{1}{2}(y_p+y_q)\end{cases}

对应的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是一些严格的公式)。因此,但现在要寻求数值解(利用有限元或插值等方法求得的近似解)。

《数值分析》

例如求解微分方程\frac{dy}{dx}=3x^2.可以转化为\frac{y(n)-y(n-1)}{dt}=3t^{2}.即y(n)=y(n-1)+3t^{2}*dt.就可以用迭代的方式求解y。dt看作是步长。

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

例题:

y^{\prime}=-2y+2x^{2}+2x,\left(0\leq x\leq0.5\right),y(0)=1

function f=doty(x,y) f=-2*y+2*x^2+2*x; %%命令行窗口输入 [x,y]=ode45('doty',0,0.5,1)

微分方程标准化

利用ode45求解高阶微风方程时,需要做变量替换。

微分方程为F(y,y',y'',...,y^{(n)},t)=0

初始条件y(t_{0})=c_{0},y^{\prime}(t_{0})=c_{1},...,y^{(n-1)}(t_{0})=c_{n-1}

首先做变量替换x(1)=y,x(2)=y',x(3)=y'',...,x(n)=y^{(n-1)}.

原微分方程可以转换为下面的微分方程组格式:

\begin{cases}d\text{x}(1)=x(2)\\d\text{x}(2)=x(3)\\......\\d\text{x}(n-1)=x(n)=f(t,x(n-1),...x(2),x(1))\end{cases}

下面就可以利用转化好的微分方程组来编写odefun函数

例题:求解常微分y^{\prime\prime}=-ty+e^{t}y^{\prime}+3\sin2t

先编写odefun函数:

x(1)=y,x(2)=y\prime

则微分方程可以转换为:

\begin{aligned}dx(1)&=y'=x(2)\\dx(2)&=y''=-t^*x(1)+\exp(t)*x(2)+3*\sin(2*t)\end{aligned}.

function dx=odefun(t,x) dx=zeros(2,1); %初始化dx dx(1)=x(2); dx(2)=-t*x(1)+exp(t)*x(2)*sin(2*t); end 例题:

在区间[3,9,4]内求解常微分方程



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3