您的位置首页百科问答

matlab解常微分方程——数值解法

matlab解常微分方程——数值解法

的有关信息介绍如下:

matlab解常微分方程——数值解法

由于一些数学方程,如果用符号表示很复杂或者根本用现有的数学符号无法给出解析解。而且人们往往关心的只是某些具体值的解。于是数值解应运而生,而matlab中可以很好地给出数值解。你只需要知道怎么用就行,不需要知道用什么方法解决的。毕竟人们只有站在巨人的肩膀上,才能看得更远。

matlab中解常微分方程的数值解常用的命令有两个,一个是ode23,一个是ode45.两个解法都是基于龙格-库塔公式。详细的就不说了,否则有点显得喧宾夺主了。其中常用的是ode23命令。

命令形式为[t,y]=ode23('fun',ts,y0,options)。

其中[t,y]为输出矩阵,分别表示自变量t和因变量y的取值。

fun为待解方程写成的m函数文件名。

ts为自变量的取值范围。

y0为函数的初值。

options用于设定误差限,可以缺省。

下面用一个实例说明。初始条件为y(0)=1.

首先建立m函数文件。

该文件的输入为自变量与因变量,输出为因变量的一阶导数。(如果方程中有二阶导数及以上的,需要增加变量转换为一阶导数)

然后再主程序中调用已有的数值积分函数进行积分。