《数学建模选修课二.ppt》由会员分享,可在线阅读,更多相关《数学建模选修课二.ppt(145页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、数学建模选修课二 Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望前前 言言一、开设数学建模课程的背景一、开设数学建模课程的背景1.开设数学建模开设数学建模是数学教育改革的必然是数学教育改革的必然 现在请各位同学回答下列两个问题:(1)数学重要吗,为什么?(2)数学有用吗?请举出一些用数学知识解决实际问题的例子。对于第一个问题,大家一定会毫不犹豫地回答:数学是非常重要的。至于理由我猜测应该是:从小学、初中到高中、大学,从小升初、中考到高考、考研,数学历来是必考科目,
2、而且在总分中所占的比重相当高。在大学阶段,许多专业的学生都至少要学习高等数学、线性代数、概率统计三门课程,历时一年半,17个学分。对于第二个问题,大家的回答可能会有些矛盾:数学应该是有用的,但又很难列举出自己用数学解决的有价值的实例。之所以出现“数学重要,数学又似乎没用”的矛盾,原因是多方面的。固然有数学比较抽象不易掌握等客观原因,但不可否认的是,长期以来数学教育中的某些敝病是造成这种情况的重要原因。事实上,现在的大学数学教育相当不尽如人意。一方面传统数学已演变为数学技术、理论研究和实验研究三足鼎立的现代数学;而另一方面大部分教材、教学内容和教学手段几十年一贯制,过于陈旧,完全没有反映出信息时
3、代数学作为一种技术的新特点,致使学生的科学计算能力和运用数学知识解决实际问题的能力得不到很好的培养。例如,我校工科专业的某些研究生和教师在科研中碰到稍微复杂一点的数学计算问题便束手无策。另外在最近几年的全国大学生数学建模竞赛中,尽管我院大部分参赛选手数学成绩都较好,但他们运用数学知识和数学软件解决实际问题的能力明显不足。因此,数学教育的改革已成了当务之急。为了适应新形势的需要,必须改革现有数学教育模式与内容,增强学生使用计算机与数学软件学习数学和解决实际问题的能力。数学建模课便应运而生了,可以说数学建模是数学教育改革的产物数学建模是数学教育改革的产物。2.开设数学建模开设数学建模是参加竞赛的需
4、要是参加竞赛的需要 我校于2000年首次参加全国大学生数学建模竞赛。由于缺乏指导教师和充足的资金支持、建模活动不普及等原因,我校的数学建模水平与省内同类院校相比相差甚远。一直存在着参赛队少、获奖级别低等问题。据调查,我校数学教师中有不少愿意投身数学建模,但缺乏学习和研究建模的契机;学生中也有一批数学建模爱好者,但平时苦于没有机会接受数学建模知识的系统介绍和培训。安大、安财等建模先进院校的经验表明,开设数学建模选修课是培养指导教师和参赛选手的有效途径。数学建模选修课的开设不仅可以引导教师学习、钻研建模,而且为学生中的建模爱好者提供了接受建模基础学习、培训的机会和场合。3.学分制为学分制为开设数学
5、建模提供了有利条件开设数学建模提供了有利条件 我校从2009级新生开始实行学分制。学分制是以学分为计量单位衡量学生完成学业状况的一种弹性的教学管理制度。学分制的核心和基础是选课制,选课制允许学生在一定范围内自主选择课程、教师、授课时间、修读方式和学习进程。学分制的实行给数学建模选修课的开设提供了极为有利的条件。在全校开设数学建模选修课,为学生中的建模爱好者提供了接受建模基础学习、培训的机会和场合,有助于数学建模活动的普及,可在一定程度上改变我校在数学建模竞赛上的落后状况。二、课程简介二、课程简介1.课程主要内容与授课方式课程主要内容与授课方式 考虑到选修本门课程的大多为非数学专业的学生,他们选
6、修本门课程的主要目的不是学习数学,而是想通过本门课程的学习提高应用数学知识和数学软件解决实际问题的能力。因此,除了少数数学理论问题之外,本门课程重点介绍如何用数学数学软件求解典型数学模型。内容包括:常用数学软件介绍,重点介绍Maple和Lingo;初等模型、微分方程模型、运筹与优化模型、数据处理与统计分析、随机模拟、图论与网络模型等。由于公选课特别是数学建模不太适宜指定教科书,所以数学建模课程拟采用学生自学、学生教师课下讨论与教师课堂讲解相结合的授课方式。首先由学生按教师要求对下次授课内容进行自学,对于疑难问题可通过适当方式与教师进行讨论、交流,然后教师在课堂上对本次授课内容进行讲解、总结,布
7、置作业。2.上机练习、数学软件的使用与编程上机练习、数学软件的使用与编程 数学建模是实践性特别强的课程,与高等数学等课程有很大的不同。数学建模课程中的几乎所有问题都要借助数学软件上机完成。希望同学们对数学建模课堂中所讲例题以及课后练习一定要动手上机演练,这样才能有所收获。在数学建模中,能否熟练运用相关软件往往比熟知数学知识更重要。因为对于许多问题而言选定数学方法并不太难,而能否用相关软件得出正确结果往往是能否解决问题的关键。训练学生比较熟练地掌握各类相关数学软件是数学建模课程的重要内容之一。在充分利用现有软件的同时,我们提倡适当地自己动手编程,因为 Matlab、Maple和Lingo等软件功
8、能的确强大,但它们也不是万能的。首先,对于某些问题,这些工具软件有都求不出正确解的情况。其次不能保证对任何问题都有现成的工具软件,实际上,许多现代计算方法都不可能编制成通用软件。即使使用数学软件时也需要编程将软件的各功能相联结。在一些大型计算中,可能要求计算是“实时计算”,即计算从前一计算环节获取参数,计算结果后立即传送给后一计算环节,所有计算都是在内存中进行的。显然,现成的工具软件对此无能为力。熟练使用相关科技软件、具有一定的编程水平是理工科学生所必须具有的素养,从某种程度上讲,后者更能反映出个人的能力,而编程经验和水平不是凭一朝一夕就可以提高的,要靠大量的编程实践和不断地日积月累。考虑到学
9、生的实际情况,本课程主要要求学生掌握 1,2 种常用数学软件的基本功能,对编程无过多要求。三、学习数学建模应注意的几个问题三、学习数学建模应注意的几个问题 随着高等教育的普及化,高等学校的学生和教师的质量不可避免地有了一定程度的下降。许多大学生知识面狭窄、自学能力差、计算机应用能力和科技论文写作能力不强。在学习数学建模课程时要注意以下几个方面的问题:1.借助于数学建模课程学习尽可能多的应用数学知识和方法,特别是一些现代数学方法。2.在数学建模中着力提高各种动手能力,包括计算能力、编程能力、计算机软件应用能力、科技论文的写作与编辑能力等。3.数学建模课程属于拓宽性的、启发性的、难度较大的课程,学
10、好这门课不仅要有浓厚的兴趣,还要有较强的自学能力和不怕困难的毅力。我们有理由相信,只要你有兴趣、花功夫、不怕难,通过数学建模课程的学习,就一定能拓展知识面,提高应用数学和计算机解决实际问题的能力。最后要说明的是,今年数学建模是首次做为全校公共选修课,面向来自不同专业、学习心态各异的学生,我们缺乏足够的经验。前面提到的一些设想可能只是我们的一厢情愿,不一定得以实现。如果各位能从课堂上学到一点点有用的东西,或者能从课下我们的交流中获得一丝有益的启示,我认为这门课就没有完全失败。四、参考书目四、参考书目 赵静,但琦.数学建模与数学实验(第3版),高等教育出版社,2008;何青,王丽芬.Maple教程
11、,科学出版社,2006;谢金星,薛毅.优化建模与Lingo软件,清华大学出版社,2005;周建兴等.Matlab从入门到精通,人民邮电出版社,2009;数学建模,Matlab,Maple,Lingo电子版资料。邮箱: MM:matlabmaple数学软件数学软件Maple简介简介一、常用数学软件介绍一、常用数学软件介绍 目前在科学研究与工程计算中常用的数学软件约30余个,可分为通用与专用两大类。专用软件主要是为解决数学中某个分支的特殊问题而设计的。常用的专用软件有:1.SAS和SPSS(统计分析);2.Lindo、Lingo和CPLEX(运筹与优化计算);3.Cayley和GAP(群论研究);
12、4.PARI(数论研究);5.Origin(科技绘图与数据分析);6.DELiA(微分方程分析);7.ANSYS(有限元计算)。通用软件一般可以求解数学许多分支中的大部分问题。通用软件又可分为数值计算型与解析计算型。常用的通用型数值计算软件有:Matlab、Xmath、Gauss、MLAB等。常用的通用型解析计算软件有:Maple、Mathematica、Macsyma、Axiom和Reduce等。Matlab、Mathematica、Maple与另一个面向大众的普及型数学软件Mathcad并称数学软件中的“四大天王”。Matlab意思为“矩阵实验室”,是美国计算机科学家Cleve Moler
13、在70年代末开发出的以矩阵数值计算为主的数学软件,如今已发展成为融科技计算、图形可视化与程序语言为一体的功能强大的通用数学软件。Matlab最突出的特点是其带有一系列的“工具包”,可广泛应用于自动控制、信号处理、数据分析、通讯系统和动态仿真等领域。高版本的Matlab也可进行符号计符号计算,不过它的代数运算系统是从解析计算软件Maple移植而来。目前,Matlab的最高版本为R2010b(3.69G)。Mathematica是美国物理学家Stephen Wolfram开发的第一个将符号计算、数值计算和图形显示很好地结合在一起的数学软件,在国内较为流行,拥有广泛的用户。它的最大优点是带有图形用户
14、接口的计算机上Mathematica支持一个专用的Notebook接口。通过 Notebook 接口,可以显示输出结果、图形、动画和声音等。Mathematica的另一个特点是它可以和C、Excel、Word等相互调用。Mathcad是MathSoft公司在80年代开发的一个交互式数学文字软件,与 Matlab 和Mathematica不同的是,该软件的市场定位是:向广大教师、学生、工程技术人员提供一个兼备文字、数学和图形处理能力的集集成工作环境,而并不致力于复杂的数值计算与符号计算问题,具有面向大众普及的特点。不过,现在 Mathcad 的计算能力已远超出了其早期的设计目标。SPSS(社会科
15、学统计软件包)是世界著名的统计分析软件之一。SPSS 的基本功能包括数据管理、统计分析、图表分析、输出管理等。其过程包括描述性统计、均值比较、一般线性模型、相关分析、回归分析、聚类分析、生存分析、时间序列分析等。SPSS中还有专门的绘图系统,可以根据数据绘制各种图形。Origin 是与 Sigma Plot和Axum齐名的科技绘图和数据处理软件。Origin 除了可以很方便地画出各种二维和三维图形外,它的最突出的功能是曲线拟合。它不仅可以用内置的上百种函数很方便地进行曲线拟合,而且可以根据用户的需要添加线型。Lindo是美国芝加哥大学的 Schrage教授开发的专门用于求解数学规划的专用软件包
16、,版权现归属于美国Lindo系统公司。Lindo包含Lindo、Gino、Lingo、Lingo NL和“Whats Best”等多个组件,这些组件统称为Lindo,其中Lindo和Lingo最为常用。Lindo 可求解线性规划、整数规划和二次规划;Lingo除了可以求解线性规划、整数规划和二次规划外,还可以求解非线性规划和线性、非线性方程组。除此之外,Lingo还包含了内置的建模语言和一些常用的数学函数,可以简便、直观地描述大规模优化问题。Lingo 有多种版本,如学生版、演示版、高级版、发行版、工业版等,其主要区别在于对优化规模(变量和约束个数)有不同的限制。Maple是加拿大 Water
17、loo大学符号计算研究小组于 80年代初开始研发,1985年 才面世的计算机代数软件,起初并不为人们所注意。但 Maple V release 2于1992年面世后,人们发现它是一个功能强大、界面友好的计算机代数系统。随着版本的不断更新,Maple已日益得到广泛的承认和欢迎,用户越来越多,声誉越来越高。从 1995年二、二、Maple简介简介以后,Maple 一直在IEEE的数学软件评比中居符号计算软件的第1名。目前,Maple的最高版本为Maple V release 14.01。Maple是一个开放的计算机代数系统,主要由用户界面、代数运算器和外部函数库三部分组成。用户界面负责输入数学表达
18、式的初步处理、运算结果和图像的显示等。代数运算器进行输入的编译及基本的代数运算。外部函数库中包括数千个数学函数和过程,几乎涵盖了数学的所有分支 Maple支持函数、序列、集合、列表、数组、表等多种数据结构。用户可以查看其非内部函数的源程序,也可以将自己编和函数、过程添加到函数库中或建立自己的函数库。Maple 的一个突出特点是界面非常友好。它有一个非常好的帮助系统,可以很方便地查找函数和命令的用法。总之,Maple是一个功能强大、容易掌握、不断发展的数学解析软件。有了良好的数学基础加上 Maple就能使你如虎添翼,有能力和信心去解决各种各样的数学计算问题。第一章第一章 Maple初步初步 1.
19、1 Maple 的安装与启动的安装与启动 不同版本Maple的安装过程略有不同,有的版本需要序列号。Maple的工作环境是典型的windows界面,下面给出Maple7(序列号1210)的经典界面和Maple14的新界面。1.2 Maple 命令的输入与显示命令的输入与显示 1.命令提示符;大小写敏感。2.Maple命令以;或:结尾,以;结尾显示结果,而以:结尾则不显示结果。3.Maple的赋值号为:=。4.光标放在命令行的任意位置,然后回车即可运行此命令;在书写命令时如需换行,须按Shift+回车。1.3 Maple 的数值与解析计算的数值与解析计算 Maple可进行无误差的符号计算和高精度
20、的数值计算。例如,100!,Pi,sqrt(2),sin(3)。1.4 Maple 的图形显示的图形显示1.一般函数做图plot(f(x),x=a.b,option);plot3d(f(x,y),x=a.b,y=c.d,option);2.极坐标做图plot(sin(3*x),x,x=-2*Pi.2*Pi,cords=polor);3.隐函数做图implicitplot(表达式,x=a.b,y=c.d);with(plots);impliciplot(y=sin(x+y),x=1.20,y=-1.1);4.参数方程做图plot(cos(t),sin(t),t=0.2*Pi);5.同一坐标系中做
21、多图方法1:plot(f1(x),fn(x),x=a.b);plot(x3-6*x+2,3*x2-6,x=-5.5):切勿与参数方程做图混淆.方法2:F1:=plot():F2:=plot():Fn:=plot():Display(F1,Fn);with(plots):F:=plot(cos(x),sin(x),x=0.2*Pi):G:=plot(cos(x),sin(x),x=-2*Pi.2*Pi):display(F,G):1.5 Maple 的微积分计算的微积分计算1.解方程solve(f(x),x);求解析解fsolve(f(x),x);求全部实数数值解fsolve(f(x),x,co
22、mplex);求全部复数数值解2.求极限limit(tan(x)-sin(x)/x3,x=0);limit(sqrt(x2+x)-sqrt(x2-x),x=infinity);3.求导数diff(x/(1+x)x,x);diff(sin(x),x$2);diff(ln(tan(x/y),x,y);simplify(diff(ln(tan(x/y),x,y);implicitdiff(y=sin(x+y),y,x);4.求积分int(exp(-x)*cos(x),x);int(sqrt(1+cos(2*x),x=0.Pi);5.解微分方程dsolve(diff(y(x),x)=x+y(x),y(
23、x);dsolve(diff(y(x),x)=x+y(x),y(0)=2,y(x);dsolve(diff(x(t),t$2)+k*diff(x(t),t)2,x(0)=0,D(x)(0)=200);1.6 Maple 的线性代数计算的线性代数计算1.矩阵转置 transpose(A);2.矩阵取行列式 det(A);3.矩阵加法 evalm(A+B);4.矩阵乘法 evalm(A&*B);5.求特征值 eigenvals(A);6.求特征向量 eigenvects(A);1.7 Maple 的帮助功能的帮助功能 Maple有非常强大、完善的在线帮助功能。Maple可通过Introductio
24、n,Topic Search和键盘命令等方式寻求帮助。例如,?interp;?dsolve;1.8 Maple 的函数库的函数库 Maple有数以千计的函数,这些函数被分成四大类:标准库、混合库、专用软件包和共享软件包。1.标准库 标准库分为内部函数、外部函数和惰性函数三类。内部函数在 Maple 的内核中,不能查看其代码。外部函数和惰性函数可以查看其代码。惰性函数主要用来显示函数名。2.混合库 混合库中存放的是不太常用的函数,系统启动时不自动调入内存。需要用时需用命令readlib(函数名)调入。3.专用软件包 Maple 有几十个专用软件包,分别处理不同数学分支问题。专用软件包在使用时要用
25、命令with(软件包名)调入。4.共享库 共享库是由 Maple 爱好者开发的软件包。这些程序用户可上网搜寻。第一次作业第一次作业1.安装Maple软件;2.自学Maple的相关资料(PPT,word,pdf),初步掌握Maple 基本操作。第二章第二章 Maple语言基础语言基础 Maple 是一个可编程的数学环境。本章介绍 Maple 的符号集、语句、表达式、基本数据类型以及基本的程序语言。2.1 标识符与变量名标识符与变量名2.1.1 标识符标识符 标识符是语言的基本元素。Maple 的标识符由26个大小写字母、10个数字字符以及一些特殊符号组成(P49)。2.1.2 变量名变量名 变量
26、名的第一个符号必须是字母,后面可以跟字母、数字、下划线。Maple 中的关键词是系统内部使用的字符串,不能作为变量名。另外,内部函数名也不能作为变量名。2.2 语句和表达式语句和表达式2.2.1 语句类型语句类型 1.赋值语句 变量名:=表达式注:初学者最容易犯的错误是将赋值号“:=”误写为“=”。2.条件语句 if 条件 then 语句组 fi if 条件 then 语句组 else 语句组 fi if 条件 then 语句组 elif 条件 then 语句组 fi if 条件 then 语句组 elif 条件 then 语句组 else 语句组 fi 3.循环语句 for 循环变量名 fr
27、om 初值 by 步长 to 终值 do 语句组 od 考察下列程序中的循环和条件语句。restart:n:=10000:count:=0:for i from 1 to n do r1:=rand(0.1):r2:=rand(0.1):if r1()=1 or r2()=1 then count:=count+1:fi:od:prizeA:=1000*evalf(count/n);2.2.2 表达式表达式 Maple的表达式由常数、变量、函数、运算符和括号等组成。例如,1.序列、列表、集合;(第五章)2.特别运算符:复合、自复合、取模mod。例如,(sinln)(x)结果为sin(ln(x)
28、;(ln2)(x)结果为ln(ln(x);10 mod 3结果为1。考察下列程序中的复合运算。restart:f:=x-x3-3*x-1:plot(f(x),x=-3.3);fsolve(f(x);x:=-4:n:=9:g:=x-x-(x3-3*x-1)/(3*x2-3):for i from 1 to n do x:=evalf(gi)(x):od;3.布尔表达式和逻辑运算 Maple中的关系运算符为,=,=,;逻辑运算符为and,or,not。“表达式 关系运算符 表达式”称为关系式,其值为true或false。由关系式、逻辑运算符和括号组成的表达式称为布尔表达式。例如,a:=1;b:=2
29、;c:=3;ab,cb;false,true ab and cb false 考察第38张幻灯片程序中的逻辑表达式。4.过程与函数(第五章)2.3 类型与判别类型与判别 Maple 具有丰富的表达式、函数和数据类型,以适应不同数学领域和用户的要求。看一个表达式是什么类型,除凭经验外,还可用命令 type对变量类型进行判别,用命令 whattype对表达式类型进行询问。2.3.1 判别类型命令判别类型命令 函数type(表达式,类型)判别此表达式是否属于该类型。属于时函数值为1,否则为0。例如,type(5,float)的值为false。Maple中所有的表达式类型见P57。2.3.2 类型询问
30、类型询问 函数whattype(表达式)返回表达式的基本数据类型。Maple中的基本数据类型见P57。例如,whattype(x-y)的值为+,whattype(xy)的值为。2.4 基本数据类型基本数据类型 本节介绍一些常用基本数据类型:整数(integer),分 数(fraction),浮 点 数(float),常数(constant),函数(functions),复 数(complex),代 数 数(algebraic number)。下一章将进一步介绍常用复合数据类型。2.4.1 整数、分数整数、分数 Maple可以计算和表示的最大整数长度为219-1=524279位。常用的整数运算函
31、数见P58。Maple的分数计算是符号计算,Maple在处理含有分数的表达式时,自动地对分数进行约分,将分母表示成正整数。2.4.2 浮点数、符号常数浮点数、符号常数 浮点数通常指带有小数的数,它的运算不属于符号运算。1.浮点数有常规和指数两种表示法。例如,314.5和3.145e2。2.可用命令evalf(表达式,精度)求表达式的浮点数。例如,evalf(22/7,20)。3.Maple 默认的浮点精度为10,可用命令“Digits:=精度”进行重新设置。例如,Digits:=40;evalf(22/7);Maple对数学中的重要常数做了特殊定义。注:Maple各版本中的定义略有不同。2.4
32、.3 复数、代数数复数、代数数 Maple用I代表虚数单位,如1+3*I。复数的常用运算有Re(取实部)、Im(取虚部)、argument(求幅角)、conjugate(求共轭)。代数数是指有理多项式方程的根。代数数的计算是符号计算。2.5 Maple的程序语言的程序语言 用本章介绍的语句可以编制出简单的Maple程序。下面给出用数值积分计算 的程序。因为 ,只要计算出右边的积分,即可得到的值。我们分别采用数值分析中的复化梯形公式和复化Simpson公式计算。复化梯形公式:复化Simpson公式:Pi:=evalf(Pi,50);a:=0:b:=1:n:=1000:f:=x-4/(1+x2):
33、Pi1:=evalf(b-a)/n*(sum(f(a+i*(b-a)/n),i=1.n-1)+(f(a)+f(b)/2),50);Pi2:=evalf(b-a)/6/n*(f(a)+f(b)+2*sum(f(a+i*(b-a)/n),i=1.n-1)+4*sum(f(a+(i+1/2)*(b-a)/n),i=0.n-1),50);1.在同一坐标系中作出 和它的Taylor展式前 项构成的多项式图象。对不同的 ,观察多项式逼近 的情形,并通过计算证明 的Taylor级数收敛于 。2.对不同的n,画出 在 上的图象。通过观察图像猜测当时,这个函数趋向于什么函数,并证明之。第三章第三章 Maple的
34、复合数据类型的复合数据类型 本章进一步介绍 Maple 语言的数据结构,包括常用的复合数据类型、函数的定义方法和函数的运算。最后介绍复合数据的三个重要命令:代换(subs),映射(map)和转换(convert)。3.1 序列、集合、列表序列、集合、列表 序列、集合和列表是三种最常用的复合型数据类型。本节介绍它们的使用和相互转换方法。3.1.1 序列序列(sequence)形如下列类型的数据称为序列。表达式1,表达式2,表达式n 例如,1,2,3和x,y,z均为序列。1.序列是 Maple 中的一种基本数据结构,可用于函数、集合、列表等语句中。例如,f(1,2,3)(三元函数),x,y,z(集
35、合),a,b,c(列表)。2.两个序列可用逗号连成一个序列。例如,a:=1,2,3;b:=4,5,6;,则语句c:=a,b;产生的序列是1,2,3,4,5,6。3.可用函数seq、$、op生成序列。(1)seq(f(i),i=m.n)生成序列f(m),f(m+1),f(n)。(2)语句“表达式$n”表示将表达式重复n次,即生成序列“表达式,表达式”。例如,a$3生成序列a,a,a。语句“表达式(i)$i=m.n”表示生成序列“表达式(m),表达式(n)”。例如,i2$i=1.4生成序列1,4,9,16。语句“$m.n”等价于语句“i$i=m.n”,即生成序列“m,m+1,n”。例如,$1.4生
36、成序列1,2,3,4。(3)op(列表)生成列表。例如,op(x,y,z)生成列表x,y,z。(4)可用命令“序列名i”提取序列的第i项。例如,s:=1,2,3;s3;的结果是3。(5)连接算子|可将两个序列按一定法则连接,产生一个新序列。若s为一序列,则a|s可以把a缀于s的每一元素前。例如,s:=1,2,3;a|s;生成序列a1,a2,a3。3.1.2 列表列表(list)用一对方括号括起的以逗号分隔的一组Maple对象即序列称为列表。例如,1,2,3即为一列表。(1)列表的元素是有序的,可以重复。例如,1,2和2,1、1,2和1,2,2是不同的列表。(2)可用“列表名i.j”提取列表的第
37、i到第j个元素。例如,L:=$1.10:L5;L1.3;的结果分别为5和1,2,3。(3)op(L)表示提取列表的所有操作数即元素,亦即将列表转换为序列。(4)nops(L)表示求列表中元素的个数即列表的长度。例如,L:=1,2,3,4:nops(L)结果为4。(5)op(L),x 表示在列表后面附加一个元素x;subsop(i=x,L)表示将列表L中的第i个元素换成x;subsop(i=NULL,L)表示消去列表L中的第i个元素。3.1.3 集合集合(set)用一对花括号括起的以逗号分隔的一组Maple对象即序列称为集合。例如,x,y,z即为一集合。(1)列表的元素是无序的。元素可以重复,但
38、运行后重复的元素只保留一个。例如,1,2和2,1、1,2和1,2,2是相同的集合。(2)可用“集合名i.j”提取集合的第i到第j个元素。(3)可用命令op(S)、op(S)将集合S分别转换为序列和列表,但在转换时去除重复元素。(4)集合的运算有union(并)、intersect(交)、minus(差)、member(成员判别)。第一章第一章 数学建模简介数学建模简介一、数学模型与数学建模一、数学模型与数学建模 数学模型与数学建模是用数学描述和解决实际问题的产物。数学模型就是对于现实世界的一个特定问题,为了某种目的,根据其内在规律,通过必要的抽象简化,运用适当的数学工具,得到的一个数学结构。通
39、俗地说,数学模型就是描述实际问题某方面规律的数学公式、图形或算法。例例1 设一根匀质链条,悬挂在一个无摩擦的钉子上。链条从静止开始运动,运动开始时一端下垂 8厘米,另一端下垂 12厘米,求链条的运动方程。解解 设链条的密度为 ,在时刻链条下滑的长度为 ,由牛顿定理,。数学建模是利用数学方法解决实际问题的一种实践,即通过抽象、简化、假设等处理过程后,将实际问题用数学方式表达,建立起数学模型,然后运用先进的数学方法及计算机技术进行求解。例如,用常微分方程中的方法或数学软件可求出例1中的运动方程为 。数学建模其实并不是什么新东西,可以说有了数学并需要用数学去解决实际问题,就一定要用数学的语言、方法去
40、近似地刻划该实际问题,这种刻划的数学表述的就是一个数学模型,其过程就是数学建模的过程。二、数学建模的过程及要求二、数学建模的过程及要求 学习数学建模的基本目的在于学会如何利用有效的数学知识、计算工具和科学实验手段来创造性地解决实际问题。数学建模的基本组成部分为:(1)用适当的数学方法对实际问题进行描述;(2)数学模型的求解;(3)结果的分析和模型的检验。较好的数学模型通常具有以下特点:考虑问题较全面,具有独到性或创新性,结果合理,稳定性好,适用性强。实际问题问题分析数学模型模型求解模型验证实际使用正确修正数学建模的基本过程数学建模的基本过程1.数学建模中常用的数学知识数学建模中常用的数学知识
41、数学建模通常需要具备微积分、微分方程、概率统计(随机模拟、方差分析、回归分析)、数值计算方法(插值、拟合、数值积分)、运筹优化(线性规划、整数规划)、图论(最短路、网络流)、神经网络、层次分析法、模糊数学等相关知识。不过,数学建模并不要求学生对上述知识精通(不现实也不可能)。同学们只要对上述知识有所了解,对所面临的问题知道用什么知识和方法解决就可以了。2.求解数学模型的常用软件求解数学模型的常用软件 在求解数学模型时,要充分利用先进的计算工具和计算软件。建议熟悉和掌握下列常用软件:Matlab(功能强大的数值计算软件)Maple(方便实用的解析计算软件)SPSS或SAS(专业的统计分析软件)L
42、ingo(专业的运筹与优化软件)3.结果的分析和模型的检验结果的分析和模型的检验 一个高质量的数学建模要求对计算结果进行合理性分析,对模型进行精确性检验。对结果的分析包括误差分析、灵敏性与稳定性分析等。在对模型进行检验时,要采用不同的方法检验。比如,模型求解时采用的是解析法或数值法,模型检验时可采用计算机仿真或模拟法。三、数学模型的分类三、数学模型的分类 根据数学模型的数学特征和应用范畴,一般有以下几种分类方法:1.根据模型的应用领域,数学模型可分为人口模型、交通模型、环境模型、生态模型、生理模型、城镇规划模型、水资源模型、污染模型、经济模型、社会模型等。2.按研究方法和对象的数学特征,数学模
43、型可分为初等模型、微分方程模型、网络图论模型、规划与优化模型、统计模型等。3.根据模型的数学特性,数学模型可分为离散与连续模型、确定性与随机性模型、线性与非线性模型、静态与动态模型等。4.根据建模目的,数学模型又可分为分析、预测、决策、控制和优化模型等。微积分与微分方程建模微积分与微分方程建模 由于选课的绝大多数学生仅学过微积分、线性代数和概率论,所以我们首先介绍一些只用一元、多元函数微积分以及微分方程即可解决的简单建模问题。例例1 设一根匀质链条,悬挂在一个无摩擦的钉子上。链条从静止开始运动,运动开始时一端下垂 8厘米,另一端下垂 12厘米,求整个链条滑过钉子所用的时间。解解 设链条的密度为
44、 ,在时刻链条下滑的长度为 ,由牛顿定理,。不是特征根,设 ,代入求得 ,。由 ,即 ,得 ,。x=8时,时间 。restart:a:=12:b:=8:dsolve(diff(x(t),t$2)-x(t)*g/(a+b)+(a+b-x(t)*g/(a+b),x(0)=a,D(x)(0)=0);solve(a+b=rhs(%),t);例例2 一粒子弹以速度 v=200 m/s打进一厚度为0.1m的板。已知穿出板的速度为80 m/s,若板对子弹的阻力与速度的平方成正比,问子弹穿过板用了多少时间?解解 由题意知,。假设子弹过板所用时间为T,则 ,。restart:dsolve(diff(x(t),t
45、$2)+k*diff(x(t),t)2,x(0)=0,D(x)(0)=200);solve(0.1=rhs(%),80=diff(rhs(%),t),t,k);例例3 曲柄滑块机构的运动规律曲柄滑块机构的运动规律 曲柄滑块是一种常用的机械结构,它将曲柄的转动转化为滑块在直线上的往复运动,是气压机、冲床、活塞式水泵等机械的主机构。下面为其示意图:记曲柄OQ的长为r,连杆QP的长为l。当曲柄绕固定点O以角速度 旋转时,由连杆带动滑块P在水平槽内作往复直线运动。假设初始时刻曲柄的端点Q位于水平线段 OP 上,曲柄从初始位置起转动的角度为 ,连杆QP与OP的锐夹角为 (称为摆角)。在机械设计中要研究滑
46、块的运动规律和摆角的变化规律,确切地说,要研究滑块的位移、速度和加速度关于 的函数关系,摆角 及其角速度和角加速度关于的函数关系,进而 (1)求出滑块的行程,即滑块往复运动时左右极限位置;(2)求出滑块的最大,最小加速度(绝对值),以了解滑块在水平方向上的作用力;(3)求出的最大,最小加速度(绝对值),以了解连杆的转动惯量对滑块的影响。设 。解解 取O点为坐标原点,OP方向为x轴正方向,P在x轴上的坐标为x,则,。(1)由上式即可得出滑块往复运动时左右极限位置。由于 ,故有而 ,所以 (2)由上式可求出滑块的最大和最小加速度。又 ,得 ,(2)由上式可求出 的最大和最小加速度。restart:
47、x:=theta-r*cos(theta)+sqrt(l2-r2*sin(theta)2):v:=diff(x(theta),theta):a:=diff(x(theta),theta$2):r:=100:l:=3*r:omega:=240:plot(x(theta),theta=0.Pi,y=0.400);plot(v(theta),theta=0.Pi);plot(a(theta),theta=0.Pi);beta:=theta-arcsin(r/l*sin(theta):a1:=diff(beta(theta),theta$2):plot(a1(theta),theta=0.Pi);例例
48、4 教堂顶部曲面面积的计算方法教堂顶部曲面面积的计算方法 耶路撒冷有一座著名的伊斯兰教堂,它以中央大厅的巨大金色拱形圆顶名震遐迩。因年久失修,国王下令将教堂顶部重新贴金箔装饰。据档案记载,大厅的顶部形状为半球形,其半径为 30m。考虑到可能的损耗和其他技术因素,实际用量将会比教堂顶部面积多1.5%。据此,国王的财政大臣拨出了可制造5750m2有规定厚度金箔的黄金。建筑商人哈桑略通数学,他计算了一下,觉得黄金会有盈余。于是,他以较低的承包价得到了这项装饰工程。但在施工前的测量中,工程师发现教堂的顶部实际上并非是一个精确的半球面而是椭球面,其半立轴恰是30m,但半长轴和半短轴分别是30.6m和29
49、.6m。这一来哈桑犯了愁,他担心黄金是否还有盈余?甚至可能短缺。最后的结果究竟如何呢?摄动方法是数学计算中求近似解析解的方法之一,在科技工程领域中有着重要应用。简单地说,摄动方法就是对解析式中的小参数进行展开,从而求得近似解析解的方法。对于积分计算,常常将被积函数(或其部分)展开。下面通过一个简单例子说明。对于 ,计算 。将被积函数关于参数 做Taylor展开,。由于 ,所以 比如 。下面用摄动方法计算原题积分。令 ,则 用摄动方法,将关于参数 展开。用数值积分方法也可求出结果,但同样计算量下结果的精度远不及摄动方法。课后练习课后练习 1.在俄国沙皇的宫廷宝藏中,有许多复活节彩蛋。它们大都以金
50、银制作,装饰或内藏着各种钻石。其中有一只较大的金蛋,蛋壳的外层表面是一个椭球面,半长轴、半短轴和半立轴分别为8cm,5.2cm和5cm。蛋壳厚度为0.24cm,重量是1680g。试问:这只复活节彩蛋的壳是否用纯金制作的?(金的密度为19.2g/cm3)2.建筑商人哈桑在对另一座伊斯兰建筑物顶部表面进行装饰时,他碰到的是一个类似半球面而又具有一些其他变化规律的曲面。哈桑这次仍要对该建筑物的顶部贴以金箔。我们可以确切地用球坐标表示该曲面方程)其中R=30m。(请考虑一下这是怎样的一个曲面?)如果由技术和损耗的因素将使用料比实际面积多1.6%,那么装饰这个顶部至少需要多少金箔?试用摄动方法求解这个问