APP下载

MATLAB在常微分方程教学中的应用

2020-10-30孙亚辉杨勇歌

教育教学论坛 2020年42期
关键词:常微分方程

孙亚辉 杨勇歌

[摘 要] 常微分方程是大學数学类专业的核心课程,有着深刻而又生动的实际背景。在常微分方程教学过程中引入软件MATLAB,加深了学生对知识的理解,提高了学生解决问题的能力。

[关键词] 常微分方程;MATLAB;通解;数值解

[基金项目] 2020年广东工业大学校级“本科教学工程”教学改革项目“基于OBE理念的常微分方程教学模式改革研究”

[作者简介] 孙亚辉(1988—),女,河南封丘人,博士,广东工业大学应用数学学院,研究方向为大学数学教育教学、动力学与控制;

杨勇歌(1989—),男,河南扶沟人,博士,广东工业大学应用数学学院,硕士生导师(通信作者),研究方向为大学数学教育教学、动力学与控制。

[中图分类号] G642.0    [文献标识码] A    [文章编号] 1674-9324(2020)42-0239-02    [收稿日期] 2020-02-16

一、引言

常微分方程是大学数学类专业的核心课程之一,相对数学分析、高等代数等课程来说,难度更大。此外,常微分方程有着深刻而又生动的实际背景,是数学联系实际问题的重要渠道之一。目前,越来越多的本科生参与数学建模竞赛,在建模过程中,经常会遇到常微分方程,这就给常微分方程的教学提出了更高的要求:常微分方程的教学要让学生不仅能理解相关理论,而且还能有一定的动手能力,能利用相关理论知识去解决实际的数学问题。使用数学软件可以提高学生的动手能力,因此在教学过程中,有必要引入相关数学软件。MATLAB由于其高效的数值计算功能、完备的图形处理功能和友好的用户界面等特点,被广泛应用于各个领域。结合笔者的教学实践,本文初步讨论MATLAB软件在常微分方程教学过程中的探索和应用。

二、使用MATLAB求常微分方程通解

例:求常微分方程组的通解。

(1)根据相关知识,易得通解为:

(2)使用MATLAB求通解,对话框中输入:

[x,y,z]=dsolve('Dx=3*x+y,Dy=-4*x-y,Dz=4*x-8*y-2*z','t')

回车可得:

x=(11*C1*exp(t))/100+(3*C3*exp(t))/20+(3*C1*t*

exp(t))/20

y=-(7*C1*exp(t))/100-(3*C3*exp(t))/10-(3*C1*t*exp(t))/10

z=exp(-2*t)*(C2+C3*exp(3*t)+C1*t*exp(3*t))

(3)对比(1)和(2),两种方法结果是一致的。

三、使用MATLAB求常微分方程组的数值解

大量的常微分方程的通解是无法求得的,因此需要使用数值模拟的方法研究常微分方程的性质。本小节使用一个经典的例子,介绍常微分方程组数值解的实现过程。

例:Lorenz方程如下:

(1)创建文件名为fun的m函数文件:

function z=fun(x)

a=10.0;b=8.0/3.0;c=28.0;

z(1)=-a*x(1)+a*x(2);

z(2)=-x(1)*x(3)+c*x(1)-x(2);

z(3)=x(1)*x(2)-b*x(3);

end

(2)创建文件名为RungeKutta的m函数文件:

function x=RungeKutta(t0,t1,x0,h)

n=(t1-t0)/h;x(1,:)=x0;

for i=1:n

k1=fun(x(i,:));

k2=fun(x(i,:)+k1*h/2);

k3=fun(x(i,:)+k2*h/2);

k4=fun(x(i,:)+k3*h);x(i+1,:)=x(i,:)+h.*(k1+2*k2+2*k3+k4)./6;

end end

(3)创建文件名为Lorenz的m脚本文件:

t0=0;t1=200;x0=[0 8 9];h=0.01;

x=RungeKutta(t0,t1,x0,h);

plot(x(:,1),x(:,3));grid on;box on;

title('x-z相图','Fontsize',20);

xlabel('x','Fontsize',20);ylabel('z','Fontsize',20);

set(gca,'FontSize',15).

(4)运行最后创建的m脚本文件,可以得到右图,这样学生对蝴蝶效应有更直观的理解。

需要注意的是:①三个m文件必须在同一个文件夹目录下。②本小节程序使用了四阶龙格库塔方法,而不是ode45函数。因为后者已经被MATLAB封装好了,虽然高效好用,但掩盖了其实现原理,不利于学生深刻理解数值方法的实现过程。

四、结语

为了提高学生学习常微分课程时的学习兴趣和解决实际问题的能力,笔者将数学软件MATLAB引入课堂。教学实践表明,将MATLAB引入课堂教学,达到了预期的教学目的。

参考文献

[1]王高雄,等.常微分方程[M].北京:高等教育出版社,2006.

Application of MATLAB in Ordinary Differential Equation Course Teaching

SUN Ya-hui, YANG Yong-ge

(School of Applied Mathematics, Guangdong University of Technology, Guangzhou, Guangdong 510520, China)

Abstract:The course in Ordinary Differential Equation, with a deep and vivid practical background, is a key course for mathematics undergraduates.The authors introduce the software MATLAB in the teaching of Ordinary Differential Equation, which deepens the students' understanding of knowledge and improves their ability to solve problems.

Key words:Ordinary Differential Equation;MATLAB;general solutions;numerical solutions

猜你喜欢

常微分方程
“常微分方程”课程教学中大学生实践创新能力培养研究
常微分方程课程分阶段教学研究
常微分方程新的可解类型及在经济学中的应用
浅谈常微分方程与大学生创新培养的联系
基于常微分方程的数学建模问题的求解
常微分方程的教学探讨
数学建模在高数教学中的应用
数学建模在高数教学中的应用