数学建模软件(完整)_第1页
数学建模软件(完整)_第2页
数学建模软件(完整)_第3页
数学建模软件(完整)_第4页
数学建模软件(完整)_第5页
已阅读5页,还剩71页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数学建模软件,简介,正如计算机为数学提供了新机会一样,数学也使得计算机变得不可思议的有效。数学为自然现象提供了抽象的模型,同时也为计算机语言实现这些模型提供了算法,应用计算机和数学构成了一个紧密耦合的系统,它不断产生出以前不可能有的结果以及以前绝不可能想象的思想。 L. A. 斯蒂恩 数学家可以把符号计算软件看作是最基本的语言,如同计算机学家的C语言。 陈木法,1 计算机数学系统综述,基本科学计算模块 大型矩阵计算、插值、逼近、求解非线性方程组、目标函数的优化等。 面向不同工程对象的科学计算需求模块 结构分析、信号处理、大规模集成电路辅助设计等。 符号计算与机器证明模块 公式推导、符号计算、数

2、值计算与定理证明等。 系统仿真、控制模块,科学计算软件的功能模块,新一代的计算机数学系统主要指科学计算软件。,常用的数学软件,通用系统 :具有数值计算、符号计算和图形功能和编程。 MATLAB Mathematica Maple MathCAD 专用系统:为解决数学、物理、理论化学或 其他学科中的问题而专门研制 SAS,Statistica,Spss LINDO,LINGO CAMAL ,2 通用的符号计算系统简介,Mathematica的特点 强大的数值计算和符号计算能力 友好的输出界面 易移植到各种平台 结构严谨 属于数学分析型软件,Mathematica,Mathematica的功能 数

3、值计算 任意精度、高级的数学函数,矩阵运算、傅立叶变换,求近似函数,积分,求根,微分方程,最优化及线性规划,数论, 函数等。 符号计算 代数简化,多项式分解,符号积分,解代数式,符号矩阵运算,列表运算等。 音像功能 函数及数据图形化,二维、三维、等高线及密度图形,三维物体视觉化,光源模型,高级图形描述语言,PostScript输出,动画,从函数及数据产生取样声音等。,程序语言 会话式符号语言,列表、公式、图形、程序的一致性表示方式,过程语言的方式,函数语言的方式,转换法则的规范,规范表达式的模式识别,运行流程符号追踪等。 外部接口 从文件及程序的数据输入,C、Fortran及Tex输出,在外部

4、程序中的函数调用,MathLink R高级外部程序连接通讯,文件及文字处理语言,国际字符集等。 笔记本式用户接口 以文字、图形、声音和数学产生的会话式文件,层次式的结构,以文体层次做文字处理的方法、标准图形及文字格式的转换,与远端计算服务设施的连接等。,Maple,Maple的功能和Mathematica基本类似 Maple的特点 交互式环境 输出界面与平常书写几乎一致 符号运算功能特别强 具有一定的决策能力 命令可以转换到FORTRAN,C等高级语言,MathCAD,MathCAD的功能 计算、绘图、编辑、设计、网络功能。 提供网络接口和超连接。 MathCAD的特点 集文本编辑、数学计算、

5、程序编辑和仿真于一体 数学符号键盘化 语法简单 全屏数学公式编辑器,Matlab,Matlab的功能 可靠的数值运算(特别但是不局限于矩阵运算)。 图像和图形显示和处理。 高水平的图形界面设计风格。 Matlab 的特点 面向对象特性; 单一的数据结构:矩阵; 矩阵自动动态伸缩; 矩阵的大小几乎可以任意大(只与虚拟内存有关); 编程简单:Basic一样的命令语言;,Matlab科学与工程计算、系统控制仿真软件包,变量不用定义; 功能强大的图形处理与数值计算功能; 系统扩充方便,可以随时向系统增加函数; 先进的帮助系统; 与C等语言的接口; 与Word 6.0 的无缝结合,在Word可以直接使用

6、Matlab功能; 符号推导、数理统计、自动控制等扩充工具库。,Matlab 入 门,3 MATLAB基础,当今国际上公认的在科技领域方面最为优秀的应用软件和开发环境。 成为应用线性代数、自动控制理论、数据统计、数字信号处理、动态系统仿真、图形处理等高级课程的基本数学工具。 国内部分重点高校已作为理工学生的必修或选修课。,主包中有数百个高度优化的内部函数。 工具包包括:,功能性工具包,学科性工具箱,优化工具箱(Optimization Toolbox)、 控制工具箱(Control Toolbox)、 通信工具箱(Communication Toolbox)、 图象处理工具箱(Image Pr

7、ocessing Toolbox)、 统计工具箱(Statistic Toolbox)等,用来扩充MATLAB的数值分析、矩阵运算、数字信号处理、符号计算功能、图形建模仿真功能、文字处理功能、与硬件实时交互功能。,利用MATLAB可以轻易地绘制二维、三维曲线,三维曲面,并可进行图形和坐标的标识、坐标控制、图形的迭绘、视角和光照设计、色彩精细控制等及动画的绘制。,数值计算功能建立在矩阵和数组上 命令和数学中的符号、公式接近 主要内容:矩阵的创建和保存,数值矩阵代数、乘方运算和分解,数组运算,矩阵操作,多项式和有理分式运算,数理统计分析、差分和数值导数,用于求积分、优化和微分方程的数值解和功能函数

8、等。,MATLAB简介,强大的数值和符号计算功能,实用方便的MATLAB语言编程,编程效率高 解释执行语言 编辑、编译、连接和执行融为一体,强大的图形和可视化功能,混合编程,开放性,除内部函数外,所有MATLAB主包文件和各工具包文件都来是可改的源文件。用户通过对源文件的修改,或加入自己编写的文件去构成新的专用工具包。,MATLAB的界面,命令窗口(Command Window),工作空间(Workspace),命令历史 (Command History),当前目录 (Current Directory),MATLAB的帮助系统,运用“help”命令, help * *: 自带函数名,MATL

9、AB联机帮助系统,在原始窗口选择“HelpMATLAB Help”,PDF帮助文件,helppdf_doc,MATLAB网络资源, ,4 Matlab入门,命令行方式,M文件方式,脚本M文件,函数M文件,MATLAB的运行方式,直接在命令窗口中输入命令来实现计算和作图功能。,MATLAB的基本操作(一),1.变量 字母打头 不含空格标点符号 区分大小写 19字符,2. 数学运算符号,MATLAB的基本操作(二),以矩阵为基本运算单元,3. 操作符号,4. 数学函数,数组与矩阵,数组的建立,数组元素的访问,数组运算,矩阵的建立,矩阵的运算,a= b=zeros(m,n) c=ones(m,n)

10、d=eye(m,n),下标操作:一个或一部分均可,X=a b c d X=first:last X=first:increment:last linspace(first,last,n),MATLAB程序设计,关系操作符,逻辑运算符,循环控制流,for循环,while循环,for n=1:10 x(n)=sin(n*pi/10); end;,m=1; while m x = linspace(0,2*pi,30);y = sin(x);z = cos(x); plot(x,y,r,x,z,co),例2 在-pi,pi 画x=cos3(t),y=sin3(t)图, ezplot(cos(t).3

11、,sin(t).3,-pi,pi),例3 用方形标记创建一个简单的loglog图, x = logspace(-1,2); loglog(x,exp(x),-s); grid on %标注格珊,2. 曲线的线型、颜色及标记控制符,3. 三维图形,plot3,surf,mesh,meshz,绘制三维曲线,绘制三维曲面,画网格曲面,在网格周围画curtain图,例4 在0,10*pi 画出参考曲线x=sin(t), y=cos(t), z=t., t = 0:pi/50:10*pi;plot3(sin(t),cos(t),t),例5 分别画二元函数Z的图形以及网格图,其中Z = sin(X2+Y2

12、)(1/2)/ (X2+Y2)(1/2)., x=linspace(-10,10,50); y=linspace(-10,10,50); X,Y=meshgrid(x,y); r=sqrt(X.2+Y.2)+eps; Z=sin(r )./r; surf(X,Y,Z), x=linspace(-10,10,50); y=linspace(-10,10,50); X,Y=meshgrid(x,y); r=sqrt(X.2+Y.2)+eps; Z=sin(r )./r; mesh(X,Y,Z),3. 处理图形,在图形上加上格珊、图例和标注,grid on grid off xlabel(strin

13、g) ylabel(string) zlabel(string) title(string) gtext(string),定制坐标,axis(xmin xmax ymin ymax zmin zmax) axis auto,图形保持,hold on hold off figure(H),图区控制,subplot,例6 画四个子图:y=sin(x); z=cos(x); a=sin(x)cos(x); b=sin(x)/cos(x)., x = linspace(0,2*pi,100); y=sin(x); z=cos(x); a=sin(x).*cos(x); b=sin(x)./(cos(x

14、)+eps); subplot(2,2,1);plot(x,y);title(sin(x); subplot(2,2,2);plot(x,z);title(cos(x); subplot(2,2,3);plot(x,a);title(sin(x)cos(x); subplot(2,2,4);plot(x,b);title(sin(x)/cos(x),5. 特殊二、三维图形,例7 画山峰的三维和二维等值线图。,x,y,z=peaks; subplot(1,2,1) contour3(x,y,z,16,s) grid;xlabel(x-axis); ylabel(y-axis); title(co

15、ntour3 of peaks); subplot(1,2,2) contour(x,y,z,16,s) grid;xlabel(x-axis); ylabel(y-axis); title(contour of peaks);,例8 绘制平面饼图和三维饼图,x=23 43 13 22 40 29; explode= 0 0 1 1 0 0; pie(x,explode),x=0.15 0.34 0.12 0.06 0.18; pie3(x),例9 灯光、照明、材料指令所表现的图形,clf; X,Y,Z=sphere(40); colormap(jet) subplot(1,2,1);surf

16、(X,Y,Z);shading interp light(position,2,-2,2,style,local) lighting phong material(0.5,0.3,0.5,10,0.5) subplot(1,2,2);surf(X,Y,Z,-Z);shading flat light;lighting flat light(position,-1,-1,-2,color,y) light(position,-1,0.5,1,style,local,color,w) material(0.4,0.5,0.3,10,0.3),MATLAB优化工具箱,fminbnd,linprog,

17、quadprog,fmincon,fsolve,fzero,lsqlin,求解线性方程组,求解非线性方程组,求解非线性方程,求固定区间的最小值点和最小值,求无约束的最小值,求非线性约束的最小值,求二次规划问题,求线性规划问题,求有约束最小二乘问题,5 Matlab求解线性规划问题,问题 某厂生产甲、乙两种产品,每单位销售后的利润分别为4千元与3千元。生产甲产品需用A、B两种机器加工,每单位产品的加工时间为A机器2小时和B机器1小时;生产乙产品需用A、B 、C三种机器加工各一小时,各机器的加工能力为A机器10小时、B机器8小时和C机器7小时。 问该厂应当生产甲、乙两种产品各多少,才能使总利润最大

18、化?,数学模型,设该厂生产 x1 台甲产品以及 x2 台乙产品使总利润最大化,则 x1 和 x2 应满足,max 4 x1 + 3x2 s. t. 2x1 + x2 = 0,线性规划的标准型,min -4 x1 - 3x2 s. t. 2x1 + x2 + x3 = 10 x1 + x2 + x4 = 8 x2 + x5 = 7 x1 , x2 ,x3, x4 ,x5 = 0,Orex2.m,f=-4;-3;0;0;0; A=; b=; Aeq=2 1 1 0 0;1 1 0 1 0; 0 1 0 0 1; beq=10;8;7; lb=0;0;0;0;0; ub=; x,fval=linpr

19、og(f,A,b,Aeq,beq,lb,ub),min -4 x1 - 3x2 s. t. 2x1 + x2 + x3 = 10 x1 + x2 + x4 = 8 x2 + x5 = 7 x1 , x2 ,x3, x4 ,x5 = 0,线性规划例题的解,最优解为 x1 = 2 ,x2 = 6 , 最优目标值为 26 千元。,6 MATLAB 仿真应用简介,广大学生可以用Matlab进行信号处理、通信原理、线性系统、自动控制等课程的学习。 科研工作者可以用Matlab进行理论研究和算法开发。 工程师可以用Matlab进行系统级的设计与仿真,MATLAB系统设计步骤,提出系统各部分的思想以及算法,

20、用Matlab的M语言进行仿真验证。 将验证的算法在Simulink软件包中进行系统级的仿真。 根据系统级的仿真结果,进行调整。 反复进行前三步,直到满意的算法。 将经Matlab及Simulink验证的算法以及系统设计的结果生成专用代码,在专用的硬件设计软件中进行验证。 分析改进。,Simulink仿真技术,Simulink简介,Simulink为MATLAB下的软件包。 针对动态系统进行建模、仿真与分析的工具。 仿真的步骤:,Simulink基本操作,Simulink调用,模块文件的操作,模块操作,信号线操作,模块的注释,simulink,Simulink模块文件:*.mdl,从模块库里选

21、择模块 添加模块 其它操作: 调整大小 调整方向 调整位置 更改名字 设置参数,连接 折曲 移动 删除 标签,Simulink仿真简例,典型的仿真模型,提供系统的输入信号,对仿真对象的数学抽象,指接收信号的部分,例:在Simulink中构件模型: 对一个正弦波信号进行积分处理,然后将原始正弦信号和积分后的信号送到示波器中同时显示出来。,1)打开Simulink的模块库浏览器和模型编辑器。,simulink,执行菜单中的“File/New/Model”,2) 进行模块的添加,SimulinkSources : Sine wave,SimulinkSink : Scope,Simulink Con

22、tinuous : Integrator,SimulinkSingnal Routing: Mux,正弦波 示波器 积分器 复路器,3) 连接信号线,信号线存在分路时按住ctrl并同时将鼠标放在线号线上。,将鼠标直接放到模块的输出端口,等光标变成十字时按住鼠标左键移到另一模块的输出端。,4)保存模型文件,5)执行仿真,“Simulation/start”,6)察看结果,双击“Scope”模块,黄线代表正弦波形 紫线代表积分后的波形,Mathematica 入 门,初识 Mathematica Mathematica 功能齐全的计算器 Mathematica 会微积分的计算器 Mathemati

23、ca 会线性代数的计算器 Mathematica 会数值分析的计算器 Mathematica 会画图的计算器,7 Mathematica基础,初识Mathematica,Mathematica 是 比 较 流 行 的 符 号 运 算 软件 之 一 , 与 Matlab 、 Maple并 称 当 今 三 大 数 学 软 件。它 不 仅 可 以 完 成 微 积 分、 线 性代 数 及 数 学 各 个 分 支 的 公 式 推 演 中 的 符 号 运 算, 而 且 可 以 数 值 求 解 非 线 性 方 程、优 化 等 问 题。另 外,Mathematica 还 具 有 强 大 的 绘 图 功 能,并 能 方 便 的 生 成 动 画。,Mathematica 有 各 种 各 样 的 版 本,以 适 应 不 同 的 软 硬 件 环 境。不 同 的 版 本 有 一 个 共 同 的 部 分,这 就 是“核”,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论