APP下载

Matlab在微分方程中的应用

2017-04-25孙瑞鹏

新教育时代·教师版 2017年15期
关键词:微分方程

摘 要:Matlab是美国MathWorks公司出品的商业数学软件,是用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境。利用Matlab强大的图形处理功能,可以绘制函数图形,用于数据可视化,并利用豐富的数学运算函数来求解各种类型的微分方程,展示了Matlab工具在微分方程计算中的优越性。本文首先介绍了Matlab在简单一阶常微分方程中的应用,其次介绍了在含指数微分方程中的应用,之后介绍了其在解决微分方程数值解问题中的应用,并简单介绍了Rumge-Kutta法,梯形法则,同时运用了Matlab出色的绘图功能,将所求解问题可视化,清晰直观。

关键词:Matlab 微分方程 Runge-Kutta法

MatLab软件在作图和数值计算上有其它软件无法比拟的优势,例如,闫金亮[1]的文献介绍了Matlab在求解常微方程、利用Matlab来描绘常微分方程解曲线及方向场、利用Matlab描绘常微分方程奇解的几何意义等的软件用途,王亚男[2]的文献介绍了通过Matlab软件的辅助,设计程序,用欧拉公式计算微方程的近似解与解析解,用二阶-库塔公式计算微分方程的近似解与解析解。本文从实际出发,介绍了利用Matlab解决求微分方程的问题。

一、Matlab在简单一阶微分方程中的应用

Matlab能够解决简单的一阶线性微分方程的问题。其解决的原理并不复杂。在确定了自变量与因变量后,只需将一阶导变量与常变量分离,对等号两边的代数式同时积分,即可得出方程的解。

例1.:y=2x^2+x

解:设计程序如下:

syms x y

y=dsolve(‘Dy=2*x^2+x,x)

diff((y,x)-2*x^2-x)

simplify(diff(y,x)-2*x^2-x)

x=0:;

输出结果得:y=(x^2*(4*x+3))/6;

所作图像如下图:

二、Matlab在含指数微分方程中的应用

在解决含指数的微分方程中,Matlab同样有很好的作用。其解决的原理与解决一阶线性微分方程有相类似之处。首先定义自变量x,因变量y以及微分函数dsolve,对于本题,可以通过常数变易法,先解出的通解,再根据此原理得出函数的特殊解P=2x,即可对题目进行求解。

例2.

解:设计程序如下:

Syms x y

y=dsolve(‘Dy=2*x*exp(-x^2)+x*y,x)

siff(y,x)-2*x*exp(-x^2)+x*y

simplify(diff(y,x)+x*y-2*x*exp(-x^2))

所作图像如下图:

三、Matlab在微分方程初值问题中的应用

对于常微分方程的初值问题,实际上就是要求未知函数y(x)在区间[a,b]上的一系列离散点(节点)上函数值y(xk)的近似值yk(k=1,2,3....,n)的问题。(a=x0

(1)

由此方法求解方程是不合适的,但其满足二阶Runge-Kuta方法的计算公式。现给出计算公式:

(2)

其中c1,c2,均为常数,为简单起见,常令c1=c2=,=1。将c1,c2以及a的值带入可根据该方法解决微分方程的初值问题数值解求解的问题。

例3.求解微分方程初值问题的数值解 ,求解范围为区间[0, 1]。

解:设计程序如下:

fun=inline(x^2+y-1,x,y);

[x,y]=ode23(fun,[0,1],2);

plot(x,y,o-)

y=C9*exp(x)-2*x-1

程序运行绘图如下图:

拓展:经典的四阶Runge-Kutta算法在求解微分方程初值问题的数值解时同样有着很强的作用。给出四阶Runge-Kutta法的四阶算法,为:

(3)

对于经典的四阶,或者是n阶的Runge-Kutta法其中的k1,k2,k3,k4之前的系数满足梯形法则公式,给出梯形法则的公式:

(4)

可将其等同理解为被积函数近似的看做一条直线,而被积的部分近似的看做梯形。若是题目要求得到更加精确的数值,可以将要积的区间分成更多个小的区间,再在每个区间之内个别估计;那么可以将原公式改进为:

(5)

在Runge-Kutta法,微分方程的求解问题,定积分的估算问题等,都可以借助梯形法则来帮助求解问题。

四、总结

从上面三个例题中可以发现,Matlab在解决微分方程的相关问题中,确实发挥着极其重要的作用,其不仅可以解决较为复杂的微分方程的求解问题、在解决微分方程的初值问题时找到较为精确的数值解,还可以使函数可视化,帮助更好的理解题目与解题思路。因此,Matlab已成为解决复杂微分方程的问题的重要工具。

参考文献

[1]闫金亮.Matlab在常微分方程教学中的应用[J].武夷学院学报,2012,(02):95-99.

[2]王亚男.MATLAB在常微分方程中简单应用[J].福建电脑,2011,(09):194+189.

作者简介:孙瑞鹏(2000.09-),男,汉族,河南省实验中学,研究方向:Matlab在微分方程的应用。

猜你喜欢

微分方程
常微分方程教学的一些思考
利用函数相关性分析积分因子相关问题 
二阶常系数非齐次线性微分方程
一类特殊的微分方程求解方法研究
基于多变量微分方程模型展开的商业经济关键点研究
新型录波器单端故障定位可行性研究
血液流速的微分方程模型
浅谈高等数学教学过程中的教育思想
对利用多种时间尺度的微分方程求解方法探讨
旋转极小曲面中微分方程通解的解法