matlab求解全微分函数,利用MATLAB求解微分方程的方法探索

引言

科学问题和工程问题经常需要求取微分方程的解,MATLAB 的强大数值运算和符号运算能力,能够方便地进行各种解析运算,是方便实用、功能强大的数学软件之一。

1线性微分方程求解

1.1线性常微分方程求解[1]

线性常微分方程的求解函数有两种,一种是求取常微分方程的解析表达式,其函数是dsolve ;另一种是求取常微分方程的数值解,这种情况根据方程组是否刚性方程,分别选择三个解决非刚性问题的函数ode45、ode32、ode113,两个解决刚性问题的函数ode23s 、ode15s 。1.1.1常微分方程的解析解

在MATLAB 中,用大写字母D 表示导数。例如,Dy 表示y',D 2y 表示y '',Dy (0)=5表示y '(0)=5。D 3y +D 2y +Dy -x +5=0表示微分方程y'''+y''+y'-x +5=0。符号常微分方程求解可以通过函数dsolve 来实现,其调用格式为:

dsolve(f,c,v )

该函数求解常微分方程f 初值条件c 下的特解。参

数v 描述方程中的自变量,省略时按缺省原则处理,若没有给出初值条件c ,则求方程的通解。

例如:求一阶方程dy/dx =1+y 2在初值y (0)=1条件下的解析解的命令行如下:

》syms y

》dsolve('Dy=1+y^2','y(0)=1','x')

y =tan(x +1/4×pi)

这里要注意一个问题,如果要观察x,y 之间的曲线,我们在matlab 命令窗口用plot 命令绘图的时候,由于plot 命令实际使用了插值方法来绘图,为了绘制出y=∞及y=-∞这几条特殊曲线,步长的选择就很重要了,我们应该选取0.25π/T (T 为正整数)作为步长,这样,才能比

较精确的绘制出y 和x 之间的关系曲线。1.1.2常微分方程的数值解

数值解的函数调用格式为:[t,x ]=ode45(‘f_name ‘,[to,tf ],xo,tol)。

matlab 下的数值解函数只能处理一阶微分方程;因此,对于高阶微分方程,我们可用状态变量法将其降阶为一阶,然后再用函数求解。

例如求解方程y ’’-3(1-y ^2)y ’+y =0在初值y ’(0)=3,y(0)=2的解。

1)降阶:设y 1=y ,y 2=y ’,初值为:y ’(0)=3,y (0)=2,则:

y 1'=y 2

y 2'=3(1-y 1^2)y 2-y 1

!

y 1(0)=2

y 2

(0)=!3

2)编写M 文件(选取ode45来求解):function dy=ode (t,y )

dy =[y (2);3×(1-y (1)^2)×y (2)-y (1)];

将此文件存盘为matlab 默认目录下,文件名称为ode.m 文件

3)调用数值解函数

>>[t,y ]=ode45('ode',[0,30],[2;3])

1.1.3利用simulink 仿真工具箱求解常微分方程[2]

Simulink 仿真函数的调用格式为:[x,y ]=sim(′模型名称′,仿真终止时间,options)

例如:求一阶方程dy/dx =1+y 2在初值y (0)=1条件下的x,y 数值解或者关系曲线。

首先建立simulink 模型:见图1。

设置参数的时候,选择slover 的算法ode23s,选择合适的步长.设置积分器的初值为1,然后存盘为li3.mdl 文

图1方程d y/d x =1+y 2的Simulink

54553507e09c9d78ee8ead729ee96a38.png

模型

第23卷第6期(总第105期)机械管理开发

2008年12月

Vol.23No.6(SUM No.105)MECHANICAL MANAGEMENT AND DEVELOPMENT

Dec .2008

作者简介:张江霞(1979-),女,陕西宜川人,讲师,大学本科毕业,研究方向:控制理论及其应用。

收稿日期:2008-05-28;修回日期:2008-07-26

利用MATLAB 求解微分方程的方法探索

张江霞

(陕西理工学院电气工程系,陕西

汉中

723003)

【摘

要】利用MATLAB 求解微分方程的方法有多种,针对常用的一些求取办法进行了归纳和总结,分别介绍了MATLAB 函数求解方法及SIMULINK 环境求解方法。【关键词】微分方程;MATLAB ;SIMULINK

【中图分类号】O175.4【文献标识码】A 【文章编号】1003-773X (2008)06-0048-02The Methods of Using Matlab to Solve the Differential Equations

ZHANG Jiang-xia

(Department of Electrical Engineering,Shannxi University of Technology,Hanzhong 723003,China )

〔Abstract 〕A certain methods can be used to solve the differential equations,this article summarize the popular methods that based on

Matlab,then introduce the function solving method and the simulink toolbox solving method.〔Key words 〕Differential equation ;MATLAB;Simulink

48··

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值