基于MATLAB编程求解高考数学最值问题
2017-03-30刘宗效
刘宗效
摘 要:最值问题是中学数学中的重点问题,是贯穿于各个学科的知识点,它在高考中的地位比较突出。本文主要针对高考中的最值问题及其相关题目,在给出常规解法的同时,整合了编程知识,利用MATLAB遗传算法程序来解决最值问题。
关键词:高考;数学;MATLAB编程;遗传算法
现阶段,我国推广普及素质教育,新一轮基础教育改革要求改变科目过多缺乏整合的现状,而传统的教育模式过于强调学科本位,注重书本知识的传授而往往忽视能力的培养。作为一名高中学生,不仅要学会知识,更要学会学习,这就需要掌握正确的学习策略和学习方法。本文结合高考题目,对学科交叉领域进行了探索性研究,拓宽了视野,对于提高学习兴趣、增强学习动机都是有帮助的。
一、背景知识介绍
1.遗传算法
遗传算法起源于对生物系统所进行的计算机模拟研究。美国Michigan大学的Holland教授及其学生受到生物模拟技术的启发,创造出一种基于生物遗传和进化机制的适合于复杂系统优化的自适应概率优化技术——遗传算法。从遗传算法的整个发展过程来看,20世纪70年代是兴起阶段,20世纪80年代是发展阶段,20世纪90年代是高潮阶段。遗传算法作为一种实用、高效的优化技术,发展极为迅速,已引起国内外学者的高度重视。
2.MATLAB简介
MATLAB是MATrix LABoratory的缩写,是一款由美国The MathWorks公司出品的商业数学软件。MATLAB是一种用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境。除了矩阵运算、绘制函数/数据图像等常用功能外,MATLAB还可以用来创建用户界面及与调用其他语言编写的程序。尽管MATLAB主要用于数值运算,但利用为数众多的附加工具箱,它也适合不同领域的应用。
3.最值问题
最值问题是一类特殊的数学问题,是歷年高考重点考查的知识点之一,它分布在各知识点,各个知识水平层面。具有较强的灵活性和技巧性,对培养学生思维的敏捷性和深刻性有着重要作用,同时它与高中数学各分支有着广泛联系。最值的定义如下:
设函数y=f(x),在[a,b]内有定义,如果有x0∈[a,b],使得对于任意一个x∈[a,b]都有f(x)≤f(x0)(或者f(x)≥f(x0))成立,则称函数f(x)在点x0处有最大(小)值f(x0)。
二、算例研究
如图1所示,最优解为2.00008,跟标准答案基本一致。程序中通过ga调用了MATLAB中的遗传算法工具箱,其用法参见MATLAB帮助文档。函数y是待优化的函数,依据题目中的y表达式编写;ineq是规定非线性约束条件的函数,其编写依据是函数y的定义域。读者可以根据兴趣选择其他题目进行编程练习,编程思路与上例大体一致。由于篇幅所限,更多算例以及子程序的具体内容从略。
三、结语
最值问题在中学数学中占有重要的地位,也是一个简单、基础,而且颇有实用意义的问题,在我们的日常生活中有着很广泛的应用。本文主要应用编程的方法,寻找到知识交汇点进行研究性学习,有助于提高自主学习的能力和学习的主动性。据MATLAB统计,本程序执行的时间仅为1.78036秒,从中可以感受到现代计算技术的高效性。
参考文献:
1.黄光扬.新课程与学生学习评价[M].福建教育出版社,2005.
2.雷英杰,张善文,李续武等.MATLAB遗传算法工具箱及应用[M].第1版.西安:西安电子科技大学出版社,2005.
3.周铁.计算方法[M].清华大学出版社有限公司,2006.
4.张波.经济数学[M].中国财政经济出版社,2011.
(作者单位:河北省邯郸市第一中学)