符号计算软件Maple 在求解全微分方程教学中的应用
2020-06-18唐巧霞淮阴师范学院数学与统计学院
唐巧霞 淮阴师范学院 数学与统计学院
《常微分方程》是理工科的一门重要的专业基础课程,其应用范围不断扩大,可以说已经深入到机械,电子,化工,生物,经济以及其他社会科学的各个领域中。由于它的复杂性和抽象性,使得学生在学习的过程中会陷入繁琐的公式计算推导中。为了改善教学效果,避免学生推导过程中出现的错误,使学生有更多的时间用于掌握这门课中的理论方法,将Maple 软件引进到课堂教学中,为学生和老师提供更多方便,使得教学内容重点更加突出,课堂教学更加生动和全面,从而激发学生学习的积极性同时提升学生运用数学软件解决实际问题的能力。本文将举例说明符号计算软件Maple 在求解全微分方程解析解及描绘积分曲线教学中应用的可行性。
如何求解求解全微分方程的原函数,最常用的方法是不定积分法。下面通过一个例子说明Maple 利用不定积分法求解全微分方程的可行性,并给出积分曲线族。
例:求解全微分方程
并画出该方程的积分曲线。
解:利用数学符号计算软件Maple 求解
value(Diff(M,y) = Diff(N, x));#判断所给方程是否为全微分方程
如下采用通常的方法来逐步求解这个方程
F := int(M, x)+k(y);#求出位势函数F
diff(F, y)= N;
solve({%}, diff(k(y),y))#对k(y)关于y 求导
k(y):=int(-2*y,y);#解出k(y)
sol := convert(%, tan);
利用convert()函数将上式化简
sol := convert(%, tan);
输出结果
将sol 作隐微分,与原来的微分方程作比较,验证所的结果是否是原方程的解
implicitdiff(sol, y, x);
采用Maple 的命令plots[implicitplot]绘制方程sol 取常数C 分别为0,1,2,3 的积分曲线族
eqns := map(subs, {C =0,C = 1,C=2,C= 3}, sol);
plots[implicitplot](eqns, x = 0..8, y= -4..4, grid = [60,60]);
Fig.1. 分别取0,1,2,3 时的积分曲线
同样,我们还可以用dsolve( )函数来直接求解这个方程
sol:= dsolve(ode, y(x), implicit);#给出上述方程的隐式解
g:= map2(subs, y(x) = y, {_C1= 0,_C1=1,_C1= 2,_C1 = 3},sol);#将表达式sol 中y(x)代#换为y,分别将C1 用0,1,2,3 代入
plots[implicitplot](g, x = 0..8, y = -4..4);
可见,在教学过程中,复杂的公式推导和公式验证完全可以交给Maple 软件来完成。这比我们传统的用黑板板书的模式效果好的多;教师还可以将计算程序文件拷贝给学生,让学生自行在计算机上操作体验,从而激发学生的兴趣和求知欲。