Mathematica在中学数学教与学中的应用

时间:2022-07-26
本文章向大家介绍Mathematica在中学数学教与学中的应用,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

前言

最近几期 Wolfram 公众号有不少内容是从各类实际的高中试题中摘选经典和复杂问题,结合软件加以解决和分析。内容来看是充实完整,分析透彻。本文抛砖引玉,从中学数学老师的日常应用出发,按课程标准的内容组织,运用 Mathematica 的计算和图形功能,形象的获取数学对象的直观展示,避免了繁重的笔头计算;并以实验的方式来研究数学,体现软件在基础教学课堂中的帮助。

编辑:杨圣汇 (Wolfram)

集合运算[Venn图]

韦恩图绘制 (借助 WolframAlpha 知识引擎)

函数的输入直接按照课本上的集合运算符号。比如找出三个集合的共同交集:

WolframAlpha["A[Intersection]B[Intersection]C", {{"VennDiagram", 1},
   "Content"}]

三个集合的并集:

子集个数(幂集)

通过 Subsets 函数可以枚举出给定集合的所有子集,包括空集(用长度为零的空列表来表示):

使用 Length 函数来找到以上长列表中所有元素的个数:

函数[图象、导数]

函数图象

除了一般的光滑函数的图像以外,Mathematica 在处理有奇点和断点的函数时候也相当简便:

Plot[1/(x^2 - x), {x, -1, 2}, Axes -> False]

有了图像帮助以后,我可以更加直观地通过导数研究函数。我从另一个角度分析之前公众号已经发表的关于今年理科卷大题的分析:

定义函数:

 F[x_] := Exp[x] + a*x^2 - x;

将函数中的参数进行替换。原题第一个小问中有对于 a 取值为 1 的时候的单调性研究。Mathematica 使用 D 或者单引号来表示求导,非常直观:

{F[x] /. {a -> 1}, F'[x] /. {a -> 1}, F''[x] /. {a -> 1}}

Out[]= {E^x - x + x^2, -1 + E^x + 2 x, 2 + E^x}

接下来使用 Plot 绘制函数:

Plot[{F[x] /. {a -> 1}, F'[x] /. {a -> 1}}, {x, -3, 3}]

结合上图考虑到纵轴的的最大值即为 a 的取值边界,找出该曲线的极值就是答案:

即比上述值小的 a 都满足条件。

三角

三角最值问题也是各类升学考试中会考到的问题。下面我来简单分析一道例题。

有的答案给的是两个要同时取到 1,才能取到最大值 2,因此 x=0 时,要取 1,所以 [Phi] 等于 [Pi]/2+2k *[Pi] (其中 k 为整数)。

但如果将条件最大值为 2,改成最大值为根3,[Phi] 的取值又是多少?先试试直接计算:

Assuming[Element[f, Reals], Maximize[Sin[x + f] + Cos[x], x]]

Out[]= Maximize[Cos[x] + Sin[f + x], x]

并没有获得结果。我们稍作化简,使用内置函数 TrigFactor 做和差化积,那么就很容易得到答案。

调用 Solve 求解满足条件的 f:

Solve[Sin[f/2 + Pi/4] == Sqrt[3]/2, f]

数列

给定项之间的关系求数列问题一般也是必考。很多数列在 Mathematica 中都能够很轻松的解决:

  • 数列求和
  • 求解通项公式

当然也有有局限,下面这个问题目前并没有得到最简结果:

不等式

求最值

这类二元问题可以非常直接的用最值函数来找到相应的结果,比如:

不等式证明

举个例子:

我在求解这道问题的时候直接使用了以下因式分解函数,直接得到了若干项非负项的乘积。那么显然本题中的不等式对于满足条件的变量都成立:

Factor[((x^2 + y^2 + z^2)^3 - 6*(x^3 + y^3 + z^3)^2) /. z -> -x - y]

Out[]= 2 (x - y)^2 (2 x + y)^2 (x + 2 y)^2

立体几何

这一道例题是通过三维等高线函数来找到满足条件的点:

我们假设要研究的是单位正方体,其中点的坐标是 :

A = (0,0,0), B = (0,1,0), C = (1,1,0) 以及 D = (1,0,0);

A1=(0,0,1), B1 = (0,1,1), C1 = (1,1,1) 以及 D1 = (1,0,1)

于是某点到三条两两垂直的异面直线的距离的平方差可以用以下两个函数来表达:

F[x_, y_, z_] := x^2 - y^2 - 2*x - 2*z + 2;

G[x_, y_, z_] := x^2 - z^2 - 2*y + 1;

那么满足条件的点即为以上两个方程同时为零的时候的解集 (距离差为零 与距离平方差为零,在此互为充要条件)。

解析几何

最后一个例子简单讲讲直线和给定椭圆判定的依据。最直接的做法就是如果有交点,那么我们可以找到坐标系下面联立方程的解。一种做法是直接把直线的代数形式带入到椭圆方程当中,并且抓取对应一元二次方程的各项系数。

小结

  • Mathematica 与 Wolfram Alpha 有丰富的资料库,涵盖各教育领域中的诸多内容 (https://www.wolfram.com/education/high-schools/high-schools.zh.html)
  • Wolfram 语言简洁,在数学课堂中的编程代码很短,加上自然语言的帮助,不需要编程知识,也可以直接获取想要的教学效果,帮助师生更好地关注在概念理解和拓展探索 (https://www.wolframalpha.com/examples/mathematics/)
  • Wolfram 语言能够分步计算,在学习和教授过程中把关键步骤保留下来,便于归档 (https://www.wolframalpha.com/examples/pro-features/step-by-step-solutions/)
  • Mathematica 可视化能力出众,能够很直观的表现复杂数量关系下面的目标函数对于变化的相应和等式关系 (https://www.wolfram.com/language/12/plane-geometry/index.html.zh)
  • 庞大的演示项目中拥有超过1万2千多个源代码供你参考学习 (https://demonstrations.wolfram.com/)