浅谈MATLAB在数学建模中的应用
2017-01-21王鹏马泽龙姚姗姗
王鹏+马泽龙+姚姗姗
摘 要:数学建模是运用数学的语言和方法,通过抽象、简化建立能近似刻画并解决实际问题的一种强有力的数学手段,是数学与各个领域沟通的桥梁,本文先介绍了数学建模的概念,然后对MATLAB软件相关特点做出介绍,其次从数学建模实例出发,说明了MATLAB软件在数学建模中的重要作用,结果表明MATLAB软件可以使数学建模效率提高,结果清晰、明确,同时在数学教学方面也有重大意义。
关键词:数学建模;MATLAB;数学模型;数值计算
21世纪的今天,我们生活在“大数据”时代里,数据信息隐藏于各行各业,如互联网、股市、勘探、军工、商业等,可以说我们每天都在跟数据打交道,因此高效的数据处理方式显得尤为重要。数学建模是联系实际问题与数学之间的桥梁,建模的思想与以往解决问题的思路有很大的不同,我们以往求解数学问题时,都有明确的目标和已知条件,我们只要通过合理的方法,进行多次的数学运算,便能得到问题的解析解,但在现实生活中,很多实际问题是很难得到解析解的,甚至求解的问题和结果的范围都是模糊不清的,数学建模主要就是解决这样的问题,我们以实际问题出发,根据已有的经验,对已有的数据进行相关的分析、处理,通过合理的简化,建立合适的模型,再求解模型,最终会得到结果,这种方法行之有效,在实际生活中,通过建模已经解决了大量难题,近年来,随着科技的飞速发展,很多数学软件应运而生,如MATLAB、Mathematic、Maple等,目前应用最为广泛的数学软件便是MATLAB,它是1984年由美国MathWork公司推出的商业数学软件,用于算法开发,数据可视化、数值计算的高级计算语言和交互式环境,凭借计算功能强大、操作简便的特点在数学软件中脱颖而出,使得很多人在建模中选择该软件。
为了说明MATLAB软件能够提高数学建模的效率和质量,本文将以2014年高教杯全国大学生数学竞赛A题为例,来演示MATLAB软件在数学建模中的作用,下面首先对数学建模做简要介绍。
1 数学建模简介
1.1 数学建模与数学模型
数学建模一词出现的时间并不是很长,大概可以追溯到30年前,它的出现是基于科学技术的进步,尤其近半个世纪以来,随着计算机技术的进步和发展,数学建模便应运而生,并得到迅速的发展,直到现在已经大致形成了体系,在我国,数学建模比赛也有20多年的时间了,建模参考书籍越来越多,内容越来越完备,不同的书籍对数学建模的定义虽然有所不同,但大致可以归纳位:对实际问题进行分析,做出简化假设,分析其内在规律,并运用数学符号和数学语言将规律描述出来,再用适当的数学工具,得到一个数学结构,该结构称为数学模型,建立数学模型的过程叫做数学建模。
应用数学去解决实际问题时,建立数学模型是至关重要的一步,也是比较困难的一步,建立数学模型的过程,就是把一个实际问题进行合理的简化,并对相关信息进行调查、收集、整理,分析出问题的内在规律,并用数学符号将这种隐含的规律表达出来,然后运用恰当的数学方法对其进行分析、计算,最终解决问题,这一步对建模者的数学基础要求比较高,要求建模者有较为完善的数学体系,并且还要有敏锐的想象力和洞察力,数学建模的作用越来越受到数学工程界的普遍认可,它以成为现代科技者的必备技能之一。
1.2 数学建模的一般步骤
下面结合数学建模的几个环节和数学建模实例,简要介绍MATLAB在数学建模中的一般步骤,模型准备:在建模前要了解问题的实际背景,搜索问题信息,明确求解目的,从而确定用何种数学方法和建立何种数学模型;模型假设:根据实际对象的特征和建模的目的,抓住问题的主要因素,对问题进行合理简化,用精确的语言提出恰当的假设;模型建立:在假设的基础上,利用合理的数学工具刻画各变量、常量之间的数学关系,建立相应的数学结构;④模型求解:利用获取的数据 和已有的数学方法,来求解上一步的数学问题,对模型的参数进行相应计算⑤模型分析:对所建立的模型的思路进行阐述,对所得的结果进行数学上的分析;⑥模型检验:将模型与实际情况进行比较,以此来检验模型的准确性、合理性,如果不符合实际情况需重新建立模型;⑦模型的推广:在现有的模型基础上,对模型进行更加全面的考虑,使模型更能反映实际情况。
2 建模实例
由于MATLAB软件具有很强的数据处理和数据可视化功能,同时具备有操作方便的特点,所以当把MATLAB软件运用在数学建模里时,必将提高数学建模的质量和效率,并能起到事倍功半的效果,下面以2014年高教杯全国大学生数学竞赛A题为例来说明MATLAB软件在数学建模里的重要作用。
2014年高教杯全国大学生数学竞赛题目A题是嫦娥三号软着陆轨道设计与优化问题,嫦娥三号是中国国家航天局嫦娥工程第二阶段的登月探测器,包括着陆器和玉兔号月球车,嫦娥三号在高速飞行的情况下,要保证准确地在月球预定区域内实现软着陆,关键问题是着陆轨道与控制策略问题。在卫星着路的过程中,不考虑主减速段,完全由姿态调整发动机控制水平运动的阶段为粗避障和精避障段,为了节省燃料,应尽量减少卫星在空中的悬停时间。题目中附件三、附件四分别是距月球表面2400米和100米的高程图,根据高程图中的数据信息,我们可以确定最佳的降落位置。我们可以运用MATLAB软件对于高程图的进行处理,首先用MATLAB软件软件中imread命令将其转化为矩阵形式,然后分别做出月球表面立体的三维图和等高线二维平面图,建立数值地形的不同区域,我们可以通过三维图很直观的观察到月球表面具体地形、地貌,通过等高线二维图形,我们可以清楚地看到月球表面地势高低变化成度,从而确定卫星降落地最佳地点。本文只以100米高程图作为例子演示,具体地操作程序以及输出结果如下:
g=imread(‘附件4距100m处的高程图.tif);
% 用imread函数读取图片信息,注意路径要以电脑中图片的实际路径为准
gg=double(g);
% 将图片中的信息转化为数值矩阵信息以便以MATLAB软件进行后期处理
gg=gg-1/255;
% 将彩色值转为0-1的渐变值以便于观察
[x,y]=size(gg);
% 取原图大小
[X,Y]=meshgrid(1:y,1:x);
% 以原图大小构建网格
mesh(X,Y,gg);
% 呈现三维地貌图
contour(X,Y,gg);
% 呈现月球表面等高线图
grid on
3 结论
从本文数学建模实例可以看出,在建模时,当需要对图片、表格、数据进行处理时,我们可以运用MATLAB软件进行解决,MATLAB凭借其丰富的库函数和工具箱,能够非常方便的解决这些问题,并且将数据可视化,结果清晰明了,显示出其他软件无法比拟的优势,除此之外,MATLAB软件在数据分析、数值计算以及规划、预测等多方面数学问题都占有绝对的优势,因此,我们提倡将MATLAB软件引入教学中去,让更多的学生在建模前了解其相关知识,进行软件操作,这不仅能够激发学生的建模积极性,而且可以使学生掌握一项技能,同时也提高学生动手实践能。
参考文献
[1] 卓金武.MATLAB在数学建模中的应用(第二版)北京航空航天大学出版社 2014
[2] 姜启源,谢金星,叶俊.数学模型(第四版)高等教育出版社 2011