您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 公司方案 > 数学建模与数学实验 Matlab基础
1第二十章MATLAB基础20.1MATLAB基本知识MATLAB是一种交互式的以矩阵为基础的系统计算平台,它用于科学和工程的计算与可视化。它的优点在于快速开发计算方法,而不在于计算速度。20.1.1MATLAB基本使用一、MATLAB启动(1)方法一当MATLAB安装到硬盘上以后,一般会在Windows桌面上自动生成MATLAB程序图标。在这种情况下,只要直接点击那图标即可启动MATLAB,打开如图1.1的MATLAB操作桌面(Desktop)。注意:本书作者建议用户优先采用启动“方法一”。(2)方法二假如Windows桌面上没有MATLAB图标,那么点击matlab\文件夹下的快捷方式图标。图20.1-1Desktop操作桌面的默认外貌二、Matlab菜单的含义MATLABR2010a版的Desktop操作桌面,是一个高度集成的MATLAB工作界面。其默认形式,如图1.1-1所示。该桌面的上层铺放着三个最常用的界面:指令窗(CommandWindow)、当前目录(Current2Directory)浏览器、MATLAB工作内存空间(Workspace)浏览器、历史指令(CommandHistory)窗。命令窗口该窗是进行各种MATLAB操作的最主要窗口。在该窗内,可键入各种送给MATLAB运作的指令、函数、表达式;显示除图形外的所有运算结果;运行错误时,给出相关的出错提示。当前目录浏览器在该浏览器中,展示着子目录、M文件、MAT文件和MDL文件等。对该界面上的M文件,可直接进行复制、编辑和运行;界面上的MAT数据文件,可直接送入MATLAB工作内存。此外,对该界面上的子目录,可进行Windows平台的各种标准操作。此外,在当前目录浏览器正下方,还有一个“文件概况窗”。该窗显示所选文件的概况信息。比如该窗会展示:M函数文件的H1行内容,最基本的函数格式;所包含的内嵌函数和其它子函数。工作空间浏览器该浏览器默认地位于当前目录浏览器的后台。该窗口罗列出MATLAB工作空间中所有的变量名、大小、字节数;在该窗中,可对变量进行观察、图示、编辑、提取和保存。历史指令窗该窗记录已经运作过的指令、函数、表达式,及它们运行的日期、时间。该窗中的所有指令、文字都允许复制、重运行及用于产生M文件。捷径(Start)键引出通往本MATLAB所包含的各种组件、模块库、图形用户界面、帮助分类目录、演示算例等的捷径,以及向用户提供自建快捷操作的环境。三、帮助的使用读者接触、学习MATLAB的起因可能不同,借助MATLAB所想解决的问题也可能不同,从而会产生不同的求助需求。如对于初学者,最急于知道的是:MATLAB的基本用法。又如MATLAB老用户很想知道的是:MATLAB新版本有什么新特点、新功能。再如对科研工作者来说,面对不断变化的实际问题,常常产生两类困惑:知道具体指令,但不知道该怎么用;或想解某个具体问题,不知道MATLAB有哪些指令可用。MATLAB作为一个优秀的科学计算软件,其帮助系统考虑了不同用户的不同需求,构成了一个比较完备的帮助体系。并且,这种帮助体系随MATLAB版本的重大升级,其完备性和友善性都会有较大的进步。不管以前是否使用过MATLAB,任何用户都应尽快了解MATLAB的帮助系统,掌握各种获取帮助信息的方法。只有这样,用户才可能较好地运用MATLAB资源,快捷、可靠、有效地独立解决自己面临的各种问题。20.1.2MATLAB变量与函数一、MATLAB中变量的命名规则:(1)变量区分字母的大小写;(2)名字不能超过19个字符,第19个字符后的字符被忽略;(3)变量必须以字母开头,之后可以是任意字母、数字或者下滑线;(4)变量中不能含有标点符号。3表20.2-1MATLAB为数学常数预定义的变量名预定义变量含义预定义变量含义eps浮点数相对精度522NaN或nan不是一个数(NotaNumber),如0/0,/i或j虚单元1jiInf或inf无穷大,如1/0pi圆周率intmax可表达的最大正整数,默认(2147483647)realmax最大正实数,默认1.7977e+308intmin可表达的最小负整数,默认(-2147483648)realmin最小正实数,默认2.2251e-308二、数学元算符号及标点符号(1)数学的运算符号运算符函义运算符函义+加法运算-减法运算*乘法运算.*点乘运算/除法运算(也表示右除)./点除运算\左除运算.^^乘幂运算点乘幂运算标点符号(1)MATLAB的命令后的逗号(或无标点符号)显示命令的结果;分号不显示命令的结果;(2)“%”:注释文字的标志;(3)“…”;续行标志。三、数据的输出格式控制format格式含义Formatshort短格式的方式,显示5位定点的十进制数。Formatlong长格式的方式,显示15位定点的十进制数。FormatshortgFormatlong当数据大于1000或小于1时变会以科学计数法显示(-e),若想坚持用整数部分加小数部分的格式显示,就再后面加gFormathex十六进制格式方式Formatbank银行格式。按元、角、分(小数点后具有两位)的固定的格式Format++格式,以+、-和空格分别表示整数、负数和零元素Formatshorte短格式e方式,显示5位定点的十进制数。Formatlonge长格式e方式,显示15位定点的十进制数。Formatrat分数格式形式,用有理数逼近显示数据。如pi显示355/113Formatloose松散格式,数据之间有空格。Formatcompact紧凑格式,数据之间无空格Vpa(date,n)将数据date以n个有效数据显示四、数学函数函数名称函数名称Sin(x)正弦函数Asin(x)反正弦函数4Cos(x)余弦函数Acos(x)反余弦函数Tan(x)正切函数Atan(x)反正切函数Abs(x)绝对值Max(x)最大值Min(x)最小值Sum(x)元素的总和Sprt(x)开平方Exp(x)以e为底的指数Log(x)自然对数Fix(x)取整:截尾取整Log10(x)以10为底的自然数Round(x)取整:四舍五入取整Sign(x)符号函数Floor(x)取整:不超过x的最大整数Ceil(x)大于x的最小整数20.1.3MATLAB数组与矩阵MATLAB以矩阵为数据操作的基本单位。一、数组数组实际上就是向量,下标从1开始变化。1、创建数组命令格式命令含义x=[a,b,c,d,e,f]创建包含定义元素的数组x=first:last创建从first开始,步长为1,到last结束的数组x=first:step:last创建从first开始,步长为step,到last结束的数组x=linspace(first,last,n)线性等分创建数组,返回以first为初始值,last为终值的等间距的n个元素x=logspace(first,last,n)对数等分创建数组,返回以10first为初始值,10last为终值的n个元素,并且这n个元素的对数值是等距的,相当于这n个元素为10.^linspace(first,last,n)例1:a=1:5a=12345例2:a=1:2:10a=13579例3:a=linspace(0,1,5)a=00.25000.50000.75001.0000b=10.^ab=1.00001.77833.16235.623410.0000c=logspace(0,1,5)c=1.00001.77833.16235.623410.00002数组元素的访问格式含义x(i)访问数组x的第i个元素x(a:b:c)访问数组的从第a个元素开始,以步长为b,到第c个元素(但不超过c),b可以为负数,b缺损时为1.x([abcd])提取数组x的第a、b、c、d个元素构成一个新的数组[x(a),x(b),x(c),x(d)]例4:d=a([1235])5d=00.25000.50001.00003、行向量与列向量在创建数组时,如果元素以空格或逗号分隔,创建的就是行向量,如果分号分隔,创建的就是列向量。例5e=[1,3,5,7,9]e=13579f=[1;3;5;7]f=1357二、矩阵标量可以看作1×1的矩阵,行向量可以看作是只有一行的矩阵,列向量可以看作是只有一列的矩阵。1、直接法建立矩阵(1)用中括号起来表示;(2)同一行内用空格或逗号隔开;(3)不同行使用分号或者回车分开。注意:输入矩阵时,严格要求所有的行有相同的列。例1:A=[123;456;789]A=1234567892、特殊的矩阵建立a=[]产生一个空矩阵,当对一项操作无结果时,返回空矩阵,空矩阵大小为零b=zeros(n)产生一个n阶方阵的零方阵b=zeros(m,n)产生一个m行、n列的零方阵b=zeros(size(A))生成与矩阵A同型的零方阵ones(n)产生一个元素全为1的n行、n列的矩阵ones(m,n)产生一个元素全为1的m行、n列的矩阵ones([m,n])产生一个元素全为1的m行、n列的矩阵ones(size(A)生成与矩阵A同型且元素全为1的矩阵eye(n)生成n×n单位阵eye(m,n)生成m×n单位阵eye(size(A))生成与矩阵A相同大小的单位阵rand()产生一个服从0-1之间的均匀帆布的随机矩阵randn()产生一个均值为0方差为1的正态分布的随机数矩阵diag(x)以数组x的元素为对角元生成一个对角阵magic(n)产生一个n阶魔方阵,其所有元素和、列元素和、对角线元素和均相当例6产生一个3×4随机矩阵R=rand(3,4)6R=0.95010.48600.45650.44470.23110.89130.01850.61540.60680.76210.82140.7919例7产生一个在区间[10,20]内均匀分布的4阶随机矩阵a=10;b=20;x=a+(b-a)*rand(4)x=19.218119.354710.578911.388917.382119.169013.528712.027711.762714.102718.131711.987214.057118.936510.098616.0379例8产生均值为0.6,方差为0.1的4阶矩阵mu=0.6;sigma=0.1;x=mu+sqrt(sigma)*randn(4)x=0.83110.77990.13351.05650.78270.51920.52600.48900.61270.48060.63750.79710.81410.50640.69960.85273、矩阵中元素的操作A(r,:)取矩阵的第r行A(:,j)取矩阵的第j列A(:)依次提取矩阵的A的每一行,将A拉伸为一列向量A(i1:i2,j1:j2)取矩阵A的第i1~i2行,第j1~j2列构成新矩阵A(i2:-1:i1,:)逆序提取矩阵A的第i1~i2行,构成新矩阵A(:,j2:-1:j1,:)逆序提取矩阵A的第j1~j2行,构成新矩阵A(i1:i2,:)=[]删除矩阵A的第i1~i2行,构成新矩阵A(:,j1:j2)删除矩阵A的第j1~j2行,构成新矩阵[A,B];[A;B]将矩阵A和B拼接成新矩阵三、矩阵的运算1、矩阵的转置和共轭转置(1)对实矩阵,转置使用符号“’”;(2)对复矩阵,转置使用符号“.’”,共轭转置用“’”。例1:c=[1+I,1;2-i,2],;d=c’%共轭转置d=1.0000-1.0000i2.0000+i1.00002.0000e=c.’%转置7e=1.0000+1.0000i2.0000-1.0000i1.00002.00002、运算A+B、A-B、A.*BA=[1,1,1;1,2,3;1,3,6];B=[8,1,6;3,5,7;4,9,2];A+B=A+BA-B=A-B结果显示:A+B=92747105128A-B=-70-5-2-3-4-3-644、运算A
本文标题:数学建模与数学实验 Matlab基础
链接地址:https://www.777doc.com/doc-3173753 .html