1Matlab软件目录Matlab帮助的使用.............................................................................62、Matlab数据输入与类型...............................................................73、Matlab数据处理.........................................................................194、Matlab编程.................................................................................305、Matlab绘图命令.........................................................................366、Matlab在数值模拟中的几个应用.............................................687、Matlab在高等数学中的应用.....................................................858、Matlab在线性代数中的应用...................................................1209、Matlab在概率统计中的应用...................................................12810、Matlab图论工具箱.................................................................13411、评价方法.................................................................................14012、预测方法.................................................................................15513、智能算法.................................................................................16814、Simulink初步.........................................................................17515、分形.........................................................................................188参考文献.........................................................................................1932Matlab简介作为和Mathematica、Maple并列的三大数学软件。其强项就是其强大的矩阵计算以及仿真能力。要知道Matlab的由来就是Matrix+Laboratory=Matlab,所以这个软件在国内也被称作《矩阵实验室》。每次MathWorks发布Matlab的同时也会发布仿真工具Simulink。在欧美很多大公司在将产品投入实际使用之前都会进行仿真试验,他们所主要使用的仿真软件就是Simulink。Matlab提供了自己的编译器:全面兼容C++以及Fortran两大语言。所以Matlab是工程师,科研工作者手上最好的语言,最好的工具和环境。Matlab已经成为广大科研人员的最值得信赖的助手和朋友!目前MATLAB产品族可以用来进行:-数值分析-数值和符号计算-工程与科学绘图-控制系统的设计与方针-电路、电子技术、电力技术等-数字图像处理-数字信号处理-通讯系统设计与仿真-财务与金融工程...Simulink是基于MATLAB的框图设计环境,可以用来对各种动态系统进行建模、分析和仿真,它的建模范围广泛,可以针对任何能够用数学来描述的系统进行建模,例如航空航天动力学系统、卫星控制制导系统、通讯系统、船舶及汽车等等,其中了包括连续、离散,条件执行,事件驱动,单速率、多速率和混杂系统等等。Simulink提供了利用鼠标拖放的方法建立系统框图模型的图形界面,而且Simulink还提供了丰富的功能块以及不同的专业模块集合,利用Simulink几乎可以做到不书写一行代码完成整个动态系统的建模工作。与其他语言比较,Matlab语言的优势:(1)简洁高效;(2)科学运算功能;(3)绘图功能;(4)庞大的工具箱与模块集;(5)强大的动态系统仿真功能。学好Matlab的简单方法:要带着问题学,活学活用,学用结合,急用先学,立竿见影,在用字上下功夫30、前言为什么要学习计算机数学语言(1)并不是所有问题都能够手工推导(并不是所有问题都有解析解);(2)对于有些可以手工推导的问题,使用计算机求解更加方便;(3)常规编程软件具有很大的局限性;例1:计算2sin(x)(x)43fxx的四阶导数解:symsx;f=sin(x)/(x^2+4*x+3);y=diff(f,x,4)例2:计算下面的多项式方程的根6543213513512157299640421616ssssss解:数值解:p=[1,9,135/4,135/2,1215/16,729/16,64];roots(p)解析解:p1=poly2sym(p);solve(p1)例3:考虑如下Hilbert矩阵11/21/31/1/21/31/41/(n1)1/1/(n1)1/(n2)1/(2n1)nHn计算n=20时的行列式值解:H=sym(hilb(20));det(H)例4:计算VanderPol微分方程2(y1)yy0y4解:mu=1000;f=@(t,x)[x(2);-mu*(x(1)^2-1)*x(2)-x(1)];[t,x]=ode15s(f,[0,3000],[-1,1]);plot(t,x)例5:最优化问题例6:积分变换、复变函数、偏微分方程、数据插值与拟合、概率论与数理统计、数值分析等例7:新的数学分支,如人工神经网络、蚁群算法、粒子群算法、模糊集与粗糙集等例8:电路、电子技术、自动控制、电机与拖动等例9:计算Fibonacci数列C语言:intmain(){inta1,a2,a3,i;a1=1;a2=1;printf(“%d%d”,a1,a2);for(i=3;i=100;i++){a3=a1+a2;printf(“%d”,a3);a1=a2;a2=a3;}return0;}Matlab语言:a=[11];fori=3:1005a(i)=a(i-1)+a(i-2);enda61、Matlab帮助的使用1.1helphelp%帮助总览helpelfun%关于基本数学函数的帮助信息helpexp%指数函数exp的详细信息1.2lookfor指令当要查找具有某种功能但又不知道准确名字的指令时,help的能力就不够了,lookfor可以根据用户提供的完整或不完整的关键词,去搜索出一组与之相关的指令。lookforintegral%查找有关积分的指令lookforfourier%查找能进行傅里叶变换的指令1.3超文本格式的帮助文件在Matlab中,关于一个函数的帮助信息可以用doc命令以超文本(HTML)的方式给出,如docdocode45doceig%eig求矩阵的特征值和特征向量1.4pdf帮助文件可从MathWorks网站上下载有关的pdf帮助文件。网站地址:、Matlab数据输入与类型2.1Matlab中的数值型数据Maltab中最常用的是数值量为双精度浮点型,占8个字节(64位),遵从IEEE记数法,有11个指数位,52位尾数和一个符号位,在Matlab中表示为double();考虑到一些特殊的应用,如图像处理,Matlab也引入了无符号的8位整型数据uint8,其值域为0~255,这样可以大大节省存储空间,提高处理速度。类似的,还有一些其他数据类型,如int8,int16,int32,uint16,uint32等类型,用于不同的处理内容。注1:在定义指定数据类型预定义了初始空间的变量时,可以使用下面两种方法获得相同的数据,例如,I1=uint8(zeros(100));I2=zeros(100,’uint8’),后一种方法的效率更高。注2:复数数据的输入:c=1+2i,与c=1+2*i等价。2.2Matlab中的变量MATLAB程序中的基本数据单元称为阵列(Array),是一个分为行与列的数据集合。变量被看作是只有一行一列的阵列。MATLAB语言不需要对变量进行事先声明,也不需要指定变量类型,它会自动根据所赋予变量的值或对变量所进行的操作来确定变量的类型。其命名规则为:(1)变量名的大小写是敏感的。(2)变量的第一个字符必须为英文字母,而且不能超过31个字符。(3)变量名可以包含下划线、数字,但不能为空格符、标点。(4)命名变量时可以取一个容易记忆并且能表达出其含义的名称,如汇率,可以定义为exchange_rate。对于变量作用域,默认情况是局部变量,使用global定义全局变量,而且全局变量常用大写的英文字母表示,全局变量再定义之后一般需要提供一个初始值,在其他脚本文件中使用全局变量时需要使用global声明。MATLAB预定义的变量如下表所示:8预设变量名含义ans预设的计算结果的变量名epsMATLAB定义的正的极小值=2.2204e-16pi内建的π值inf∞值,无限大NaN无法定义一个数目i或j虚数单位i=j=√-1nargin函数输入参数个数nargout函数输出参数个数realmax最大的正实数21023realmin最小的正实数2-1022flops浮点运算次数注1:在定义变量时要尽量与避免与这些名字相同,以免改变它们的值,如果已经改变,可以通过clear变量名来恢复它的初始值,也可以通过重新启动MATLAB恢复这些值。注2:数字的输入输出格式。所有数据均按IEEE浮点标准的长型格式存储。输入格式沿用了C语言的风格和规则;输出格式使用format数据格式命令控制,只影响在屏幕上的显示结果,不影响内部的存储和运算。注3:对于符号型数值可以通过变精度算法函数vpa()以指定的精度显示出来。调用方法为vpa(A),或者vpa(A,n),例如vpa(pi,200)92.3向量及其运算1、向量的生成①命令窗口直接输入,使用[],元素之间用空格、逗号或者分号隔开。②使用冒号表达式,基本形式为x=x0:step:xn,其中xn为尾元素数值限,而不一定是尾元素的值。当step=1时可省略步长。③生成线性等分向量,使用linspace函数。Y=linspace(x1,x2,n)(在x1和x2之间分成n等份)④生成对数等分向量,使用logspace函数。Y=logspace(x1,x2,n)(10^x1和10^x2之间分成n等份)2、向量的基本运算数加(减)、数乘、点积(dot函数)、叉积(cross函数)、混合积dot(a,cross(b,c))示例:(1)dot(a,b)返回向量a和b的数量点积。a和b必须同维。当a和b都为列向量时,dot(a,b)同于a.*b。10dot(a,b,dim)返回a和b在维数为dim的点积。dim=1按列点积,dim=2对应按行点积,dim=3时逐个元