数学建模常用软件选讲1
- 格式:doc
- 大小:204.50 KB
- 文档页数:26
数学建模常用软件有哪些哈MatlabMathematicalingoSAS详细介绍:数学建模软件介绍一般来说学习数学建模,常用的软件有四种,分别是:matlab、lingo、Mathematica和SAS下面简单介绍一下这四种。
1.MA TLAB的概况MA TLAB是矩阵实验室(Matrix Laboratory)之意。
除具备卓越的数值计算能力外,它还提供了专业水平的符号计算,文字处理,可视化建模仿真和实时控制等功能。
MATLAB的基本数据单位是矩阵,它的指令表达式与数学,工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完相同的事情简捷得多. 当前流行的MA TLAB 5.3/Simulink 3.0包括拥有数百个内部函数的主包和三十几种工具包(Toolbox).工具包又可以分为功能性工具包和学科工具包.功能工具包用来扩充MATLAB的符号计算,可视化建模仿真,文字处理及实时控制等功能.学科工具包是专业性比较强的工具包,控制工具包,信号处理工具包,通信工具包等都属于此类. 开放性使MATLAB广受用户欢迎.除内部函数外,所有MA TLAB主包文件和各种工具包都是可读可修改的文件,用户通过对源程序的修改或加入自己编写程序构造新的专用工具包.2.Mathematica的概况Wolfram Research 是高科技计算机运算( Technical computing )的先趋,由复杂理论的发明者Stephen Wolfram 成立于1987年,在1988年推出高科技计算机运算软件Mathematica,是一个足以媲美诺贝尔奖的天才产品。
Mathematica 是一套整合数字以及符号运算的数学工具软件,提供了全球超过百万的研究人员,工程师,物理学家,分析师以及其它技术专业人员容易使用的顶级科学运算环境。
目前已在学术界、电机、机械、化学、土木、信息工程、财务金融、医学、物理、统计、教育出版、OEM 等领域广泛使用。
数学建模软件介绍一般来说学习数学建模,常用的软件有四种,分别是:matlab、lingo、Mathematica 和SAS下面简单介绍一下这四种。
1.MATLAB的概况MATLAB是矩阵实验室(Matrix Laboratory)之意。
除具备卓越的数值计算能力外,它还提供了专业水平的符号计算,文字处理,可视化建模仿真和实时控制等功能。
MATLAB的基本数据单位是矩阵,它的指令表达式与数学,工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完相同的事情简捷得多.当前流行的MATLAB 5.3/Simulink 3.0包括拥有数百个内部函数的主包和三十几种工具包(Toolbox).工具包又可以分为功能性工具包和学科工具包.功能工具包用来扩充MATLAB的符号计算,可视化建模仿真,文字处理及实时控制等功能.学科工具包是专业性比较强的工具包,控制工具包,信号处理工具包,通信工具包等都属于此类.开放性使MATLAB广受用户欢迎.除内部函数外,所有MATLAB主包文件和各种工具包都是可读可修改的文件,用户通过对源程序的修改或加入自己编写程序构造新的专用工具包.2.Mathematica的概况Wolfram Research 是高科技计算机运算( Technical computing )的先趋,由复杂理论的发明者Stephen Wolfram 成立于1987年,在1988年推出高科技计算机运算软件Mathematica,是一个足以媲美诺贝尔奖的天才产品。
Mathematica 是一套整合数字以及符号运算的数学工具软件,提供了全球超过百万的研究人员,工程师,物理学家,分析师以及其它技术专业人员容易使用的顶级科学运算环境。
目前已在学术界、电机、机械、化学、土木、信息工程、财务金融、医学、物理、统计、教育出版、OEM 等领域广泛使用。
Mathematica 的特色·具有高阶的演算方法和丰富的数学函数库和庞大的数学知识库,让Mathematica 5 在线性代数方面的数值运算,例如特征向量、反矩阵等,皆比Matlab R13做得更快更好,提供业界最精确的数值运算结果。
数学建模比赛必备1matlab(矩阵实验室)2 lingo和lingo(线性规划)3 SPSS<统计)其中MATLAB是最重要的也是最常用的4还有就是最好学好c语言这个软件和有很多的相似之处其中统计软件:SPSS,SAS,STATA。
解决运筹学的模型:lingo5 PS:SAS很强大的,如果没有接触过还是不要学的好。
其实SPSS解决一下就可以了,只是SAS画出来的图很好看。
6另外还有时间可以看看另两个软件SMARTDRAWLATELX什么是数学建模数学建模(Mathematical Modelling)是一种数学的思考方法,是“对现实的现象通过心智活动构造出能抓住其重要且有用的特征的表示,常常是形象化的或符号的表示。
”从科学,工程,经济,管理等角度看数学建模就是用数学的语言和方法,通过抽象,简化建立能近似刻画并“解决”实际问题的一种强有力的数学工具。
顾名思义,modelling一词在英文中有“塑造艺术”的意思,从而可以理解从不同的侧面,角度去考察问题就会有不尽的数学模型,从而数学建模的创造又带有一定的艺术的特点。
而数学建模最重要的特点是要接受实践的检验,多次修改模型渐趋完善的过程。
3、竞赛的内容竞赛题目一般来源于工程技术和管理科学等方面经过适当简化加工的实际问题,不要求参赛者预先掌握深入的专门知识,只需要学过普通高校的数学课程。
题目有较大的灵活性供参赛者发挥其创造能力。
参赛者应根据题目要求,完成一篇包括模型假设、建立和求解、计算方法的设计和计算机实现、结果的分析和检验、模型的改进等方面的论文(即答卷)。
竞赛评奖以假设的合理性、建模的创造性、结果的正确性和文字表述的清晰程度为主要标准。
4、竞赛的步骤建模是一种十分复杂的创造性劳动,现实世界中的事物形形色色,五花八门,不可能用一些条条框框规定出各种模型如何具体建立,这里只是大致归纳一下建模的一般步骤和原则:1)模型准备:首先要了解问题的实际背景,明确题目的要求,收集各种必要的信息.2)模型假设:为了利用数学方法,通常要对问题做必要的、合理的假设,使问题的主要特征凸现出来,忽略问题的次要方面。
数学建模常用软件Matlab Mathematica lingo SAS详细介绍:数学建模软件介绍一般来说学习数学建模,常用的软件有四种,分别是:matlab、lingo、Mathematica和SAS下面简单介绍一下这四种。
1.MATLAB的概况MATLAB是矩阵实验室(Matrix Laboratory)之意。
除具备卓越的数值计算能力外,它还提供了专业水平的符号计算,文字处理,可视化建模仿真和实时控制等功能。
MATLAB的基本数据单位是矩阵,它的指令表达式与数学,工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完相同的事情简捷得多. 当前流行的MATLAB 5.3/Simulink 3.0包括拥有数百个内部函数的主包和三十几种工具包(T oolbox).工具包又可以分为功能性工具包和学科工具包.功能工具包用来扩充MATLAB的符号计算,可视化建模仿真,文字处理及实时控制等功能.学科工具包是专业性比较强的工具包,控制工具包,信号处理工具包,通信工具包等都属于此类. 开放性使MATLAB广受用户欢迎.除内部函数外,所有MATLAB主包文件和各种工具包都是可读可修改的文件,用户通过对源程序的修改或加入自己编写程序构造新的专用工具包. 2.Mathematica的概况Wolfram Research 是高科技计算机运算( Technical computing )的先趋,由复杂理论的发明者Stephen Wolfram 成立于1987年,在1988年推出高科技计算机运算软件Mathematica,是一个足以媲美诺贝尔奖的天才产品。
Mathematica 是一套整合数字以及符号运算的数学工具软件,提供了全球超过百万的研究人员,工程师,物理学家,分析师以及其它技术专业人员容易使用的顶级科学运算环境。
目前已在学术界、电机、机械、化学、土木、信息工程、财务金融、医学、物理、统计、教育出版、OEM 等领域广泛使用。
数学建模常用软件选讲第3章 lingo 的使用LINGO 是Linear Interactive and General Optimizer 的缩写,即“交互式的线性和通用优化求解器”,由美国LINDO 系统公司(Lindo System Inc.)推出的,可以用于求解非线性规划,也可以用于一些线性和非线性方程组的求解等,功能十分强大,是求解优化模型的最佳选择。
其特色在于内置建模语言,提供十几个内部函数,可以允许决策变量是整数(即整数规划,包括 0-1 整数规划),方便灵活,而且执行速度非常快。
3.1 Lingo 程序特点:(1)目标函数必须由“min =”或“max =”开头;(2)每条语句后必须使用分号“;”结束。
(3)变量与其系数间要有乘号。
3.2 线性规划问题例 如何在LINGO 中求解如下的LP 问题:0,6002100350..32min212112121≥≤+≥≥++x x x x x x x t s x x在模型窗口中输入如下代码:min=2*x1+3*x2;x1+x2>=350;x1>=100;2*x1+x2<=600;然后点击工具条上的按钮 即可。
3.3 二次规划问题目标函数是二次函数,约束条件是线性的规划问题例如:⎪⎩⎪⎨⎧<=+>++-+=7.011.19.02.1..4.03min 22y y x y x t s yxy y x fmin=3*x^2+y^2-x*y+0.4*y;1.2*x+0.9*y>1.1;x+y=1;y<0.7;3.4 非线性规划问题《数学模型》(第三版)(姜启源等编)第四章第三节例1中,解法三得到一个非线性规划模型:123max 234z x x x =++123.. 1.535600s t x x x ++≤12328025040060000x x x ++≤11(80)0x x -≥22(80)0x x -≥33(80)0x x -≥123 , , x x x 均为整数输入lingo:MAX= 2 * X1 + 3 * X2 + 4 * X3 ;1.5 * X1 + 3 * X2 + 5 * X3 <= 600 ;280 * X1 + 250 * X2 + 400 * X3 <= 60000 ;X1*( X1-80) >= 0 ;X2*( X2-80) >= 0 ;X3*( X3-80) >= 0 ;@GIN( X1); @GIN( X2); @GIN( X3);注:变量界定函数实现对变量取值范围的附加限制,共4种:@bin(x) 限制x为0或1@bnd(L,x,U) 限制L≤x≤U@free(x) 取消对变量x的默认下界为0的限制,即x可以取任意实数@gin(x) 限制x为整数第5章 matlab的使用Matlab是matrix laboratory的缩写,是矩阵实验室的意思,它是一个功能强大的数学工具软件。
Matlab的产生是与数学计算紧密联系在一起的,1980年美国新墨西哥大学计算机科学系主任cleve Moler在给学生讲授线性代数课程时,发现学生利用高级语言编程解决线性代数问题花费很多时间,为了减轻学生编程的负担,用高级语言编写了最早的MATLAB。
Matlab语言是一种用于工程计算的高性能语言,它主要包括两大内容:核心函数和工具箱。
Matlab的典型应用包括以下几个方面:数学计算、算法开发、建模及仿真、数据分析及可视化、科学及工程绘图、应用开发。
5.1 matlab的工作环境1.启动和退出matlab启动matlab程序与启动其它windows程序一样,通常通过单击桌面上的相应图标来执行。
当然,也可以通过“开始”菜单中相应命令启动。
退出matlab时,也可以像退出其它windows程序一样操作,也可以在命令窗口中键入quit或exit来退出。
2.菜单和工具栏Matlab的菜单和工具界面与windows程序的界面类似,用户只要稍加实践就可以掌握其功能和使用方法。
菜单的内容会随着在命令窗口执行不同命令而作出相应改变。
3.命令窗口命令窗口是matlab的主要交互窗口,用于输入命令并显示除图形以外的所有执行结果。
Matlab命令窗口中的“>>”为运算提示符,表示matlab处于准备状态。
当在提示符后输入一段程序或一段运算式后按“回车”键,matlab会给出计算结果,并再次进入准备状态。
单击命令窗口右上角的箭头按钮可以使命令窗口脱离主窗口而成为一个独立的窗口。
常用控制命令及其功能:clc:清除命令窗口中的内容clear:清除工作空间中的变量clf:清除图形窗type :显示指定的M文件的内容exit/quit:结束matlab会话,程序完成,如果没有明确保存,则变量中的数据丢失help :获取在线帮助4.历史命令窗口该窗口主要用于记录所有执行过的命令,在默认设置下,该窗口会保留自安装后所有使用过命令的历史记录,并标明使用时间。
同时,用户可以通过用鼠标双击某一历史命令来重新执行该命令。
与命令窗口类似,该窗口也可以成为一个独立的窗口。
选中该窗口,然后单击鼠标右键,弹出一个菜单,用户可以通过此菜单删除或粘贴历史记录,也可以为选中的表达式或命令创建一个M文件。
5.当前工作目录窗口当前工作目录是指matlab运行文件时的目录。
只有在当前工作目录或搜索路径下的文件、函数可以被运行或调用。
在窗口中可显示或改变当前工作目录,还可以显示当前工作目录下的文件。
6.工作空间窗口在工作空间窗口中将显示目前内存中所有的matlab变量的变量名、数据结构、字节数以及类型等信息。
5.2 基本运算与函数在MATLAB下进行基本数学运算,只需将运算式直接打入提示号(>>)之后,并按入Enter键即可。
例如:>> (5*2+1.3-0.8)*10/25ans =4.2000又如:求10的阶乘>> prod(1:10)求15C可用30>> nchoosek(30,15)MATLAB会将运算结果直接存入一变量ans,代表MATLAB运算后的答案(Answer)并显示其数值于屏幕上。
我们也可将上述运算式的结果设定给另一个变量x:x = (5*2+1.3-0.8)*10^2/25x = 42此时MATLAB会直接显示x的值。
由上例可知,MATLAB认识所有一般常用到的加(+)、减(-)、乘(*)、除(/)的数学运算符号,以及幂次运算(^)。
若不想让MATLAB每次都显示运算结果,只需在运算式最后加上分号(;)即可,如下例:y = sin(10)*exp(-0.3*4^2);若要显示变量y的值,直接键入y即可:>>yy =-0.0045在上例中,sin是正弦函数,exp是指数函数,这些都是MATLAB常用到的数学函数,函数里的参数必须用圆括号括起来。
1.三角函数MATLAB常用的三角函数名称含义名称含义名称含义Sin(x)正弦asin(x)反正sec(x)正割弦cos(x)余弦acos(x)反余弦csc(x)余割tan(x)正切atan(x)反正切asec(x)反正割cot(x)余切acot(x)反余切acsc(x)反余割pi:常数2.指数和对数函数名称含义名称含义名称含义exp(x)E为底的指数log10(x)10为底的对数pow2(x)2为底的指数log(x)自然对数log2(x)2为底的对数sqrt(x)平方根5.3 数组、矩阵及其运算数组或矩阵是matlab最基础的内容之一,几乎所有的数据都是用数组的形式存储的,这就是matlab又被称为矩阵实验室的原因。
5.3.1 向量的创建5.3.1.1 一维数组(向量)的创建一维数组(向量)创建有直接输入法、步长生成法、定数线性采样法等。
1.直接输入法(1)使用分号,创建一维列向量>> x1=[pi;log10(100);7*2;2^3]x1 =3.14162.000014.00008.0000(2)使用空格或逗号,创建一维行数组>> x2=[pi log10(100) 7*2 2^3]x2 =3.1416 2.0000 14.0000 8.00002.步长生成法采用通用格式a:step:b。
其中a表示数组的第一个元素;step表示数组的间隔,即步长;b表示数组的最后一个元素。
如果省略step,默认值为1。
>> x3=1:2:10x3 =1 3 5 7 93.定数线性采样法在设定了总个数的条件下,均匀采样分布生成一维行向量。
采用通用格式:x=linspace(a,b,n)其中a,b分别是数组的第一个和最后一个元素,n表示采样点数。
例如:>> x=linspace(1,10,5)x =1.0000 3.2500 5.5000 7.7500 10.00005.3.1.2 一维向量元素寻访和赋值1.子向量的寻访>> x=linspace(1,10,5) %定义向量x =1.0000 3.2500 5.5000 7.7500 10.0000>> x(2) %查看向量第二个元素ans =3.2500>> x([1 3 5]) %查看向量第一、三、五个元素组成的子向量ans =1.0000 5.5000 10.0000>> x(3:5) %查看向量第三到第五个元素组成的子向量ans =5.5000 7.7500 10.00002.子向量的赋值>> x(2)=5x =1.0000 5.0000 5.5000 7.7500 10.0000>> x(4) = [] % 删除第四个元素MATLAB亦可取出向量的一个元素或一部份来做运算:y=x(2)*3+x(4) % 取出x的第二个元素3倍后和x的第四个元素来相加,最后赋给变量y。
5.3.4.向量的常用函数min(x): 向量x的元素的最小值max(x): 向量x的元素的最大值mean(x): 向量x的元素的平均值median(x): 向量x的元素的中位数std(x): 向量x的元素的标准差diff(x): 向量x的相邻元素的差sort(x): 对向量x的元素进行排序length(x): 向量x的元素个数sum(x): 向量x 的元素总和prod(x): 向量x 的元素总乘积dot(x, y): 向量x 和y 的内 积5.4 matlab 求解数学问题5.4.1 符号表达式的生成在数学分析中,常常需要做极限、微分、求导数等运算,MATLAB 称这些运算为符号运算。
MATLAB 的符号运算功能是通过调用符号运算工具箱内的工具实现,其内核是借用Maple 数学软件。