当前位置: 首页 > 范文大全 > 优秀范文 >

算法融入数学建模中的教学研究

发布时间:2022-03-20 10:12:50 | 浏览次数:

摘 要: 把运筹学与计算方法中的算法分成四个模块,求解优化模型,微分方程,定积分和插值与拟合贯穿于数学建模课程中。不但教会学生用matlab软件求解数学模型,也通过讲解运筹学、计算方法中的算法内容帮学生理解求解的过程。学生根据算法和结果找出模型的不足,从而加深对模型的理解,反之又能指导建模。

关键词: 数学建模;算法;matlab;改革

0 引言

随着计算机技术的迅速发展和普及,数学的应用不仅在工程技术、经济建设中发挥越来越重要的作用,而且数学的模型也不断地向一些新的领域渗透。数学建模可以是说是应用数学的一门重要课程。将数学建模列入教学内容,既顺应时代的发展,也符合教育改革的要求。有利于培养学生分析问题和解决问题的能力和实际动手能力。在数学建模过程中,除了建立模型,最重要的就是求解。学生学习数学知识的目的,就是为了培养用数学工具解决实际问题的能力。在应用数学以及计算机技术飞速发展的今天,把实际问题通过数学的方法建立数学模型后,再利用计算机模拟并求解已成为解决实际问题的一种方法模式。为此我们在课堂上引入matlab软件。该软件有强大的计算功能,在课堂上能清晰的表达教师意思,形象切生动。Matlab仅需需几个命令就能迅速得出一般模型的结果,而很多不完善的模型只看结果是很难知道问题产生的根源。这软件省去了不少麻烦同时也略去了不少学生应该学习、掌握的计算的方法,而这些方法有助于学生深入思考、理解模型,找到模型的不足之处,反过来能有效的改进模型。因此,算法在数学建模中起到举足轻重的地位。本文结合笔者的教学实践,拟讨论加入算法在数学建模教学中的应用。

1 当前数学建模教学中存在的问题

数学建模是一种数学的思考方式,是运用数学的语言和方式,通过将现实简化、抽象为一个数学模型然后采用恰当的数学方法求解,进而对现实问题进行分析和研究, 最终达到解决实际问题的目的。

因此,数学建模涉及的数学领域的知识众多。在上数学建模课程时,学习部分基础课程是必要的,但是无法等每门数学课程就开设完最后才讲授数学建模。一般高校在大二开始学习建模课程,大二升大三的暑假开始参加全国大学生数学建模竞赛。所以学生在学习建模过程中,遇到很多没有系统学习的数学知识,给他们的理解造成了一定的困难。大部分学生就停留在按照课本给出的模式建立模型,用matlab几个命令求解。但问题变换一下,深入一点,学生就无法应对了。我们在建模课程中必然无法系统讲完所有要用到的数学知识,仅希望通过讲解某一种方法,让学生懂得通过这种方法如何找出问题的所在。知道了问题的根结就可以通过自行翻阅参考书、文献找出解决的方法。

本文正是通过把算法的内容融入到数学建模教学中,让学生掌握算法计算出结果后找到模型出现的问题,从而反过来指导建模。对教学方法进行一个新的尝试。

2 算法融入数学建模教学的意义

我们在数学建模课程中,所要教授的内容大致分为这几类:线性规划模型,非线性规划模型,微分方程模型,概率与数理统计模型,差分方程模型,组合数学模型等。Matlab软件在求解这些问题有着强大功能,不需要懂得实际算法即可求解。的确,使用matlab确实能绕过算法,因为该软件自带有一些算法工具箱,使得求解模型相对简单。但仅仅给出结果,不告知其所以然,学生会有很大疑惑,势必导致对模型的难理解。如果学生建立模型计算出结果后,发现不对,仅从数据上很难判断需要改进的地方。

因此,在讲解模型的同时,穿插引入一些基本的算法。这样能够让学生了解算法,可以自行通过用其他高级语言编程来实现结果,对问题的了解更加深一步。当计算的结果不符合要求时,又能通过掌握的算法清楚的知道模型的问题,反过来指导模型的修正。这样逐渐建立起合适的模型。学生利用自己的已有的知识解决了实际的问题,更能激发学习的兴趣,所以在授课时有必要加入一些算法的内容。在大学学习期间,涉及有算法的课程有运筹学、计算方法等。这些课程除了培养学生的抽象思维和分析能力外,更重要的是掌握学科学计算的技巧,熟悉一些最基本最常用的算法。

3 数学建模教学改革的一些尝试

在数学建模课程中,常用的四种模型是与计算方法、运筹学紧密相关的。规划模型,微分方程模型,积分模型,插值与拟合。针对每一种模型,尝试有把讲授的算法分为四个模块。

3.1 规划模型模块

规划模型分为线性规划,非线性规划,整数规划等。在讲解到线性规划模型时,如下模型:

由于一般数学建模都是在大二的时候开设,运筹学还没开设,也就没学过单纯形法,则可以先不用讲具体算法。然后给学生介绍matlab里面的命令可直接得出结果。

当讲解到无约束与有约束非线性规划时,建立起如下模型:

无约束规划模型则没有s.t的约束条件。教师先给学生讲解matlab在求解这类模型时使用的命令。这些模型都是数学规划模型,对这类问题,可以用运筹学里的算法进行求解。那么要求解这些有约束的规划模型之前,先要讲无约束最优化模型的求解。对无约束模型求解,其主要思想是任意选取一个初始点,再选择一个逼近的方向和一个步长,然后得到下一个逼近点 。这样一步一步逼近最优的那个点,这就是运筹学的迭代法。但是怎么找方向,如何选择步长

呢?这时可以适当介绍几种算法。像最速下降法,选择的迭代方向是负梯度方向 ,但它是线性收敛的,因此收敛速度慢;牛顿迭代法的基本思想是利用二次函数近似目标函数,把这个二次函数的极小点作为新的迭代点,这样来寻找到最优点。而对于有约束的模型,则可以把这些有约束的模型用罚函数的方法改为无约束的模型,其中M是很大的数,如下:

教师解释罚函数的含义,是惩罚那些不满足约束条件的点,然后就可以用以上无约束模型的方法求解。把有约束变成了无约束,模型就容易求解了。再举出几个非线性的例子来说明迭代的过程,并用手工计算得出的结果来与matlab计算的结果是否一致。从而得出结论,这类规划问题都可以用迭代的算法来解决。布置些试验作业给学生编写算法程序,以达到让学生学以致用的目的。当然这里会涉及到一些定理的证明,繁琐的理论,就可以略去。

3.2 插值与拟合模块

在建模中,遇到数据操作,分析曲线走势,一些测试分析方法就需要用到插值与拟合了。

在实际中,常常要处理由实验或测量所得到的一些离散数据。插值与拟合方法就是要通过这些数据去确定某一类已知函数的参数或寻找某个近似函数,使所得到的近似函数与已知数据有较高的接近精度。课堂上解释何谓插值与拟合,指出其联系与区别。讲插值时,可以推导出拉格朗日插值函数和牛顿插值函数,等比较简单的插值函数,再举个简单的例子说明插值的使用。对于拟合,先给出的定义,使得拟合的函数值的数据

小。讲解拟合中最常用的最小二乘法的具体思路和基本算法,举个较简单的线性经验函数做拟合的例子。这时教师再引入大学生建模竞赛的原题,举一个建模案例。如2005年长江水质的评价与预测问题。在长江水质的预测中,如果用回归分析或者趋势外推预测法预测,就要使用拟合方法来求解,分析拟合在实际问题中的应用。

3.3 求解数值积分模块

求积分的问题,是建模中普遍的问题。求某函数的定积分时,在多数情况下,被积函数的原函数很难用初等函数表达出

来。因此就有数值求积分的必要。

这时把计算方法中的数值积分当作一个模块,讲解如何求解数值积分。给出求积公式定义,根据上面讲过的插值内容,推导出近似求解积分的插值公式,梯形公式与辛普生公式等简单的公式。这样学生就能理解数值积分的含义,并且能自己求一些简单的积分。然后再给出matlab命令[I,n]=quad("fname",ab,tol,trace),也可以用于数值积分,并且quad就是依据辛普生公式编写的求积程序。学生不但知道了如何用matlab求数值积分,而且还理解了其中的意思,避免了死记硬背的麻烦。有助于更好理解计算机在数学中的应用。

3.4 微分方程模型模块

学生在学过常微分方程后,必然知道如何手动进行求解。一旦微分方程模型变得比较复杂,那么手动不好计算了。如果用计算机求解呢,计算机是离散数据,求不出具体的函数,只能求出具体数值。

这时给出数值解定义,其数值解是指由初始点 开始的若干离散点,即对求出准确值

相近的近似值 。

然后讲解欧拉法,后退欧拉法,龙格-库塔法等微分方程的数值解法,而这里的龙格-库塔法是基于数值积分而导出的公式。解释完求解方法后,再讲解matlab求解微分方程的命令[t,x]=solver(‘f’,ts,x0,options)。让学生通过自己编写程序求出的解与matlab自带的命令求得的解进行比较,从而锻炼了计算编程能力和加深了微分方程数值解的理解。

在数学建模中主要体现出的算法就是这四部分。把这四块内容与数学建模有机的结合在一起,在教师的指导下,学生动脑又动手,并使用数学软件和编程技术,解决实践中提出的问题,师生共同实现教学的总体化目标。

4 引入算法给学生带来的变化

数学离不开计算,运筹学和计算方法这两门课使学生了解常用于计算的几种基本方法。学生掌握常用算法的基本理论和方法,能够借助于某种计算机软件将常用的算法在计算机上实现。通过根据算法进行程序设计,解决一些实际问题,积累计算经验,提高学生理论联系实际的能力和分析问题解决问题的能力。使学生学会用计算的方法进行科学计算,学会进行基本算法分析,比较几种算法间的优劣,选择最佳算法,培养学生用数学的思想方法分析问题和解决问题的意识和能力,提高科学计算能力和综合素质。为学习后继课程及用计算机有效地解决实际问题奠定数学基础。

把几种重要的算法融入到数学建模中,能够把模型与求解紧密结合起来。让学生在建完模型后能自行求解运算,运算结果判断模型的好坏,根据运用的算法判断模型出现的问题,然后修改模型。虽然matlab可以对一些简单的模型不需要知道算法就能找出答案,但是对于近几年的大学生数学竞赛中,都需要用到缜密的思维和较深的数学知识,建立的模型复杂而多样,都需要自主编程来求解模型。因此,以算法为线索,贯穿整个建模课程中。把算法四个模块讲解完毕,学生对matlab编程这块内容会变得更加容易理解,且能够实现学生自己编程,对模型的理解也会更加透彻。如这几年数模的竞赛题目,油罐存贮量问题,眼科病床问题,可给学生讲解完问题背景,建立模型,尝试用学过的方法求解,再返回到实际问题中,来解释具体问题的现象。这样,既巩固了课堂的理论知识,降低了纯理论讲解的枯燥性和具体问题背景的难理解性,又提高了学生的学习兴趣,增强了学生的学习能力。

5 结束语

把基本的几种算法融入到数学建模中,能够将数学模型与计算机结合得更紧密。学生除了学到建模的方法,更重要的是提高了洞察力,抽象能力、创新能力,还把学过的计算机语言学以致用。通过编写程序,掌握计算的方法。让学生不单懂得使用,并且知道原理,这样理解得更深入,也有助于记忆。数学建模与算法的结合,是把模型与求解,数学与计算机结合起来,为学生提供一个由理论到实践的平台,为提高思维和能力做了铺垫。

推荐访问: 教学研究 建模 算法 融入 数学
本文标题:算法融入数学建模中的教学研究
链接地址:http://www.yzmjgc.com/youxiufanwen/2022/0320/34444.html

版权声明:
1.赢正文档网的资料来自互联网以及用户的投稿,用于非商业性学习目的免费阅览。
2.《算法融入数学建模中的教学研究》一文的著作权归原作者所有,仅供学习参考,转载或引用时请保留版权信息。
3.如果本网所转载内容不慎侵犯了您的权益,请联系我们,我们将会及时删除。

版权所有:赢正文档网 2010-2024 未经授权禁止复制或建立镜像[赢正文档网]所有资源完全免费共享

Powered by 赢正文档网 © All Rights Reserved.。粤ICP备19088565号