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

下载本文档

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

文档简介

数学建模软件简介正如计算机为数学提供了新机会一样,数学也使得计算机变得不可思议的有效。数学为自然现象提供了抽象的模型,同时也为计算机语言实现这些模型提供了算法,应用计算机和数学构成了一个紧密耦合的系统,它不断产生出以前不可能有的结果以及以前绝不可能想象的思想。

——L.A.斯蒂恩§1计算机数学系统综述基本科学计算模块大型矩阵计算、插值、逼近、求解非线性方程组、目标函数的优化等。面向不同工程对象的科学计算需求模块结构分析、信号处理、大规模集成电路辅助设计等。符号计算与机器证明模块公式推导、符号计算、数值计算与定理证明等。系统仿真、控制模块科学计算软件的功能模块新一代的计算机数学系统主要指科学计算软件。常用的数学软件通用系统:具有数值计算、符号计算和图形功能和编程。

MATLAB

MathematicaMapleMathCAD……专用系统:为解决数学、物理、理论化学或其他学科中的问题而专门研制

SAS,Statistica,SpssLINDO,LINGOCAMAL……§2通用的符号计算系统简介Mathematica的特点强大的数值计算和符号计算能力友好的输出界面易移植到各种平台结构严谨属于数学分析型软件MathematicaMathematica的功能数值计算任意精度、高级的数学函数,矩阵运算、傅立叶变换,求近似函数,积分,求根,微分方程,最优化及线性规划,数论,函数等。符号计算代数简化,多项式分解,符号积分,解代数式,符号矩阵运算,列表运算等。音像功能函数及数据图形化,二维、三维、等高线及密度图形,三维物体视觉化,光源模型,高级图形描述语言,PostScript输出,动画,从函数及数据产生取样声音等。程序语言会话式符号语言,列表、公式、图形、程序的一致性表示方式,过程语言的方式,函数语言的方式,转换法则的规范,规范表达式的模式识别,运行流程符号追踪等。外部接口从文件及程序的数据输入,C、Fortran及Tex输出,在外部程序中的函数调用,MathLinkR高级外部程序连接通讯,文件及文字处理语言,国际字符集等。笔记本式用户接口以文字、图形、声音和数学产生的会话式文件,层次式的结构,以文体层次做文字处理的方法、标准图形及文字格式的转换,与远端计算服务设施的连接等。MapleMaple的功能和Mathematica基本类似Maple的特点交互式环境输出界面与平常书写几乎一致符号运算功能特别强具有一定的决策能力命令可以转换到FORTRAN,C等高级语言MathCADMathCAD的功能计算、绘图、编辑、设计、网络功能。提供网络接口和超连接。MathCAD的特点集文本编辑、数学计算、程序编辑和仿真于一体数学符号键盘化语法简单全屏数学公式编辑器MatlabMatlab的功能可靠的数值运算(特别但是不局限于矩阵运算)。图像和图形显示和处理。高水平的图形界面设计风格。Matlab的特点面向对象特性;单一的数据结构:矩阵;矩阵自动动态伸缩;矩阵的大小几乎可以任意大(只与虚拟内存有关);编程简单:Basic一样的命令语言;Matlab——科学与工程计算、系统控制仿真软件包变量不用定义;功能强大的图形处理与数值计算功能;系统扩充方便,可以随时向系统增加函数;先进的帮助系统;与C等语言的接口;与Word6.0的无缝结合,在Word可以直接使用Matlab功能;符号推导、数理统计、自动控制等扩充工具库。Matlab

入门§3MATLAB基础当今国际上公认的在科技领域方面最为优秀的应用软件和开发环境。成为应用线性代数、自动控制理论、数据统计、数字信号处理、动态系统仿真、图形处理等高级课程的基本数学工具。国内部分重点高校已作为理工学生的必修或选修课。主包中有数百个高度优化的内部函数。工具包包括:功能性工具包学科性工具箱优化工具箱(OptimizationToolbox)、控制工具箱(ControlToolbox)、通信工具箱(CommunicationToolbox)、图象处理工具箱(ImageProcessingToolbox)、统计工具箱(StatisticToolbox)等用来扩充MATLAB的数值分析、矩阵运算、数字信号处理、符号计算功能、图形建模仿真功能、文字处理功能、与硬件实时交互功能。利用MATLAB可以轻易地绘制二维、三维曲线,三维曲面,并可进行图形和坐标的标识、坐标控制、图形的迭绘、视角和光照设计、色彩精细控制等及动画的绘制。数值计算功能建立在矩阵和数组上命令和数学中的符号、公式接近

主要内容:矩阵的创建和保存,数值矩阵代数、乘方运算和分解,数组运算,矩阵操作,多项式和有理分式运算,数理统计分析、差分和数值导数,用于求积分、优化和微分方程的数值解和功能函数等。MATLAB简介强大的数值和符号计算功能实用方便的MATLAB语言编程编程效率高解释执行语言编辑、编译、连接和执行融为一体强大的图形和可视化功能混合编程开放性除内部函数外,所有MATLAB主包文件和各工具包文件都来是可改的源文件。用户通过对源文件的修改,或加入自己编写的文件去构成新的专用工具包。MATLAB的界面项目启动菜单命令窗口(CommandWindow)工作空间(Workspace)命令历史(CommandHistory)当前目录(CurrentDirectory)MATLAB的帮助系统

运用“help”命令>>help********:自带函数名

MATLAB联机帮助系统在原始窗口选择“Help\MATLABHelp”

PDF帮助文件~\help\pdf_docMATLAB网络资源/products/matlab/

§4Matlab入门命令行方式M文件方式脚本M文件函数M文件MATLAB的运行方式直接在命令窗口中输入命令来实现计算和作图功能。MATLAB的基本操作(一)1.变量字母打头不含空格标点符号区分大小写19字符特殊变量取值特殊变量取值i,j虚数单位eps计算机最小数pi圆周率ans结果缺省变量名inf无穷大realmin最小可用正实数NaN不定量realmax最大可用正实数flops浮点运算数2.数学运算符号MATLAB的基本操作(二)以矩阵为基本运算单元+加法(数,矩阵)-减法(数,矩阵)*乘法.*点乘(数组乘法)./点除^乘方.^数组乘方/右除\左除./点除:在矩阵的构造和运算中非常有用%注释…表示一行未完’矩阵的转置;矩阵中行结尾;命令结尾函数名称函数名称sin(x)正弦asin(x)反正弦cos(x)余弦acos(x)反余弦tan(x)正切atan(x)反正切abs(x)绝对值max(x)最大值min(x)最小值sum(x)求和sqrt(x)开平方exp(x)指数log(x)自然对数log10(x)10为底的对数sign(x)符号函数fix(x)取整3.操作符号4.数学函数数组与矩阵数组的建立

数组元素的访问

数组运算

矩阵的建立

矩阵的运算a=[]b=zeros(m,n)c=ones(m,n)d=eye(m,n)e=rand(m,n)下标操作:一个或一部分均可X=[abcd]X=first:lastX=first:increment:lastlinspace(first,last,n)MATLAB程序设计

关系操作符<小于<=小于或等于>大于>=大于或等于==等于~=不等于

逻辑运算符&与|或~非

循环控制流for循环while循环forn=1:10x(n)=sin(n*pi/10);endm=1;whilem<10m=m+1;end

选择控制流if-else-end结构plot(X)plot(X,Y)plot(X1,Y1,X2,Y2,…)plot(X1,Y1,LineSpec1,X2,Y2,…)MATLAB图形处理1.二维图形plotezplotfplotezplot(f)ezplot(f,[a,b])ezplot(f,[xmin,xmax,ymin,ymax])ezplot(x,y,[tmin,tmax])fplot(fun,[xmin,xmax])对数坐标图loglogplotyyemilogxsemilogy例1在[0,2*pi]用红线画sin(x),用绿圈画cos(x)>>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’,’sin(t).^3’,[-pi,pi])例3用方形标记创建一个简单的loglog图>>x=logspace(-1,2);>>loglog(x,exp(x),’-s’);gridon%标注格珊2.曲线的线型、颜色及标记控制符控制符线型或标记控制符颜色控制符标记—实线g绿色.点:点线m品红色o圆圈—.点划线b蓝色x叉号——虚线c青色+加号h六角形w白色*星号v倒三角r红色s正方形^正三角k黑色d菱形>左三角y黄色p五角星<右三角3.三维图形plot3surfmeshmeshz绘制三维曲线绘制三维曲面画网格曲面在网格周围画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)^(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;surf(X,Y,Z)mesh(X,Y,Z)3.处理图形在图形上加上格珊、图例和标注gridongridoffxlabel(‘string’)ylabel(‘string’)zlabel(‘string’)title(‘string’)gtext(‘string’)定制坐标axis([xminxmaxyminymaxzminzmax])axisauto图形保持holdonholdofffigure(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)+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.特殊二、三维图形polar(theta,rho,s)极坐标图scatter(X,Y,S,C)散点图contour(x,y,z,n)平面等值线图scatter3(X,Y,Z,S,C)三维散点图contour3(x,y,z,n)空间等值线图例7画山峰的三维和二维等值线图。[x,y,z]=peaks;subplot(1,2,1)contour3(x,y,z,16,'s')grid;xlabel('x-axis');ylabel('y-axis');title('contour3ofpeaks');subplot(1,2,2)contour(x,y,z,16,'s')grid;xlabel('x-axis');ylabel('y-axis');title('contourofpeaks');例8绘制平面饼图和三维饼图x=[234313224029];explode=[001100];pie(x,explode)x=[0.150.340.120.060.18];pie3(x)例9灯光、照明、材料指令所表现的图形clf;[X,Y,Z]=sphere(40);colormap(jet)subplot(1,2,1);surf(X,Y,Z);shadinginterplight('position',[2,-2,2],'style','local')lightingphongmaterial([0.5,0.3,0.5,10,0.5])subplot(1,2,2);surf(X,Y,Z,-Z);shadingflatlight;lightingflatlight('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运算符C++运算符C++函数++plus()--minus()**mtimes()//mrdivide()\无mldivide()^^mpower().*无times()./无rdivide().\无ldivide().^无power()‘无ctranspose()MATLAB优化工具箱fminbndfminsearchfminunclinprogquadprogfminconfsolvefzero\lsqlin求解线性方程组求解非线性方程组求解非线性方程求固定区间的最小值点和最小值求无约束的最小值求非线性约束的最小值求二次规划问题求线性规划问题求有约束最小二乘问题§5Matlab求解线性规划问题问题某厂生产甲、乙两种产品,每单位销售后的利润分别为4千元与3千元。生产甲产品需用A、B两种机器加工,每单位产品的加工时间为A机器2小时和B机器1小时;生产乙产品需用A、B、C三种机器加工各一小时,各机器的加工能力为A机器10小时、B机器8小时和C机器7小时。问该厂应当生产甲、乙两种产品各多少,才能使总利润最大化?数学模型设该厂生产x1台甲产品以及x2台乙产品使总利润最大化,则x1和x2

应满足max4x1+3x2

s.t.2x1+x2<=10x1+x2<=8x2<=7x1,x2>=0线性规划的标准型min-4x1-3x2

s.t.2x1+x2+x3=10x1+x2+

x4=8x2+

x5=7x1,x2,x3,x4,x5>=0Orex2.mf=[-4;-3;0;0;0];A=[];b=[];Aeq=[21100;11010;01001];beq=[10;8;7];lb=[0;0;0;0;0];ub=[];[x,fval]=linprog(f,A,b,Aeq,beq,lb,ub)min-4x1-3x2

s.t.2x1+x2+x3=10x1+x2+

x4=8x2+

x5=7x1,x2,x3,x4,x5>=0线性规划例题的解最优解为x1=2,x2=6,最优目标值为26

千元。§6MATLAB

仿真应用简介广大学生可以用Matlab进行信号处理、通信原理、线性系统、自动控制等课程的学习。科研工作者可以用Matlab进行理论研究和算法开发。工程师可以用Matlab进行系统级的设计与仿真MATLAB系统设计步骤提出系统各部分的思想以及算法,用Matlab的M语言进行仿真验证。将验证的算法在Simulink软件包中进行系统级的仿真。根据系统级的仿真结果,进行调整。反复进行前三步,直到满意的算法。将经Matlab及Simulink验证的算法以及系统设计的结果生成专用代码,在专用的硬件设计软件中进行验证。分析改进。Simulink仿真技术Simulink简介

Simulink为MATLAB下的软件包。针对动态系统进行建模、仿真与分析的工具。仿真的步骤:建仿真模型,设定参数用Simulink进行仿真Simulink基本操作Simulink调用

模块文件的操作

模块操作

信号线操作

模块的注释>>simulinkSimulink模块文件:*.mdl

从模块库里选择模块添加模块其它操作:调整大小 调整方向调整位置 更改名字设置参数

连接折曲移动删除标签Simulink仿真简例典型的仿真模型信源系统信宿提供系统的输入信号对仿真对象的数学抽象指接收信号的部分例:在Simulink中构件模型:对一个正弦波信号进行积分处理,然后将原始正弦信号和积分后的信号送到示波器中同时显示出来。应该怎样模拟信号?1)打开Simulink的模块库浏览器和模型编辑器。>>simulink执行菜单中的“File/New/Model”2)进行模块的添加Simulink\Sources:SinewaveSimulink\Sink:ScopeSimulink\Continuous:IntegratorSimulink\SingnalRouting:Mux正弦波示波器积分器复路器3)连接信号线信号线存在分路时按住[ctrl]并同时将鼠标放在线号线上。将鼠标直接放到模块的输出端口,等光标变成十字时按住鼠标左键移到另一模块的输出端。4)保存模型文件5)执行仿真“Simulation/start”6)察看结果双击“Scope”模块黄线代表正弦波形紫线代表积分后的波形作业1:用Matlab语言编写程序:1.建立一个随机矩阵A,5行6列。2.求A和另一个矩阵B的乘积。3.编写函数文件,计算矩阵A中最大和最小的元素,并输出相应的行、列坐标。下周一交打印的程序代码作业2:用你熟知的程序语言,编写程序实现buffon投针计算圆周率的模拟实验。计算出pi的估计值。画图表示出不同的实验中得到的数据(夹角与距离)。要求:交打印的源代码、以及相应的实验结果截图。上交时间3月24日Mathematica

入门初识MathematicaMathematica

功能齐全的计算器Mathematica

会微积分的计算器Mathematica

会线性代数的计算器Mathematica

会数值分析的计算器Mathematica

会画图的计算器§7Mathematica基础初识MathematicaMathematica

是比较流行的符号运算软件之一,与Matlab

Maple并称当今三大数学软件。它不仅可以完成微积分、线性代数及数学各

个分支的公式推演中的符号运算,而且可以数值求解非线性方程、优化等问题。另外,Mathematica还具有强大的绘图功能,并能方便的生成动画。Mathematica有各种各样的版本,以适应不同的软硬件环境。不同的版本有一个共同的部分,这就是“核”,Mathematica的各种运算都是由核完成的,给核配置上不同的前端处理器(Frontend)就成为适用于各种环境的版本。算术运算函数和常数几个方便的输入方法代数运算解方程

功能齐全的计算器算术运算

算术运算的输入方式有三种:expr

温馨提示

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

最新文档

评论

0/150

提交评论