您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 工程监理 > 第一章matlab软件初步
第一章MATLAB软件初步本章目的:了解什么是MATLAB以及什么如何使用MATLAB。§1导言MATLAB:是MATrixLABoratory的缩写,是由美国MathWorks公司开发的工程计算软件,迄今MATLAB已推出了5.2版。MATLAB集成环境主要包括五个部分:MATLAB语言、MATLAB工作环境、句柄图形、MATLAB数学函数库和MATLABAPI(applicationprograminterface)。MATLAB语言是以数组为基本数据单位,包括控制流程语句、函数、数据结构、输入输出及面向对象等特点的高级语言,具有以下主要特点:1)运算符和库函数极其丰富,语言简洁,编程效率高。MATLAB除了提供和C语言一样的运算符外,还提供广泛的矩阵和向量运算符。2)既具有结构化的控制语句(如for循环、while循环、break语句、if语句和switch语句),又有面向对象的编程特性。3)图形功能强大。它既包括对二维和三维数据可视化、图像处理、动画制作等高层次的绘图命令,也包括可以完全修改图形局部及编制完整图形界面的、低层次的绘图命令。4)功能强大的工具箱。工具箱可分为两类:功能性工具箱和学科性工具箱。功能性工具箱主要用来扩充其符号计算功能、图示建模仿真功能、文字处理功能以及与硬件实时交互的功能。而学科性工具箱是专业性比较强的,如优化工具箱、统计工具箱、控制工具箱、小波工具箱、图象处理工具箱、通信工具箱等。5)易于扩充。除内部函数外,所有MATLAB的核心文件和工具箱文件都是可读可改的源文件,用户可修改源文件和加入自己的文件,它们可以与库函数一样被调用。§2MATLAB环境MATLAB既是一种语言,又是一个编程环境。这一节将集中介绍MATLAB提供的编程环境。作为一个编程环境,MATLAB提供了很多方便用户管理变量、输入输出数据以及生成和管理M文件的工具。所谓M文件,就是用MATLAB语言编写的、可在MATLAB中运行的程序。下面将分别介绍MATLAB的命令窗口、工作区、程序编辑/调试器和帮助系统。2.1命令窗口命令窗口是用户与MATLAB进行交互的主要场所。标题栏:在命令窗口的最上面显示“MATLABCommandWindow”字样的一栏。菜单栏:在标题栏下面,含“File(文件)”、“Edit(编辑)”、“Help(帮助)”四项。工具栏:在菜单栏下面,显示了9个工具按钮。熟练使用工具按钮可使工作更快捷、更方便。命令编辑区:命令窗口的空白区域,用于输入和显示计算结果。可以在该区域键入各种MATLAB命令进行各种操作,键入数学表达式进行计算。例如,当键入变量赋值命令:x=4.5并回车,将在命令行的下面显示:x=4.5再输入求px的三角正弦函数值的表达式Y=sin(pi*x)并回车,将显示:Y=1若在表达式后面跟分号“;”,将不显示结果,这对有大量输出数据的程序特别有用,例如键入:x=6;z=9;2*x+y-3*z输出:ans=-111)当不指定输出变量时,MATLAB将计算值赋给缺省变量ans(answer的缩写)。2)在MATLAB里,有很多控制键和方向键可用于命令行的编辑。若一个表达式在一行写不下,可换行,但必须在行尾加上三个英文句号。运算符=、+、-前后的空格不影响计算结果。变量名命名规则:1)以字母开头,后面可跟字母,数字和下短线;2)大小写字母有区别;3)不超过31个字符。特殊变量名:ans用于结果的缺省变量名pi圆周率eps计算机的最小数,当和1相加就产生比1大的数inf无穷大,如1/0NaN不定量,如0/0i或ji=j=-1的开方realmin最小可用正实数realmax最大可用正实数2.2MATLAB工作区工作区(workplace):接受MATLAB命令的内存区域,存储着命令窗口输入的命令和创建的所有变量值。可以随时查看工作区中的变量名及变量的值。who或whos显示当前工作区中的所有变量clear清除工作区中的所有变量clear(变量名)清除指定的工作区变量工作区中的所有变量可以保存到一个文件中,便于以后使用。save(文件名)将当前工作区的变量储存在一个MAT-文件中load(文件名)调出一个MAT-文件quit?或单击右上角的“′”按钮,退出工作区2.3MATLAB的程序编辑器MATLAB提供了一个内置的具有编辑和调试功能的程序编辑器,编辑器窗口也有菜单栏和工具栏,使编辑和调试程序非常方M文件包含两类:命令文件和函数文件,都可被别的M文件调用。1.M文件的建立1)进入程序编辑器(MATLABEditor/Debug):从“File”菜单中选择“New”及“M-file”项或单击“NewM-file”按钮。2)输入程序:在“MATLABEditor/Debug”窗口输入MATLAB程序;3)保存程序:单击“save”按钮,出现一个对话框,在文件名一框中键入一个文件名,单击“保存”按钮。2.命令M文件及其运行命令文件没有输入参数,也不返回输出参数,只是一些命令行的组合。命令M文件中的命令可以访问MATLAB工作区中的所有变量,而且其中的所有变量也成为工作区的一部分,命令文件运行结束,命令文件产生的变量保留在工作区,直到关闭MATLAB或用命令删除。下面是一个命令文件的例子。程序:%文件名example.mx=4;y=6;z=2;items=x+y+zcost=x*25+y*22+z*99average_cost=cost/items当这个文件在程序编辑窗口输入并以名为example.m的M文件存磁盘后,只需简单地在MATLAB命令编辑窗口键入example即可运行,并显示同命令窗口输入命令一样的结果。在M文件中对程序的注释是以符号“%”开始直到该行结束的部分,程序执行时会自动忽略。3.函数M文件及其调用在MATLAB编辑窗口还可建立函数M文件,我们可以根据需要建立自己的函数文件,它们能够像库函数一样方便地调用,从而可扩展MATLAB的功能。如果对于一类特殊的问题,建立起许多函数M文件,就能形成工具箱。函数M文件的第一行有特殊的要求,其形式必须为function[输出变量列表]=函数名(输入变量列表)函数体语句;函数M文件的文件名必须与其函数名相同。1)输出变量如果多于1个,则应该用方括号括起来;输入变量应该用逗号隔开;当函数无输出参数时,输出参数项空缺或者用空的中括号表示。如:functionprintresults(x)或function[]=printresults(x)2)函数M文件不能访问工作区中的变量,它的所有变量均为局部变量,只有输入、输出变量才保留在工作区。4.文件管理what返回当前目录下M,MAT,MEX文件的列表dir列出当前目录下的所有文件cd显示当前的工作目录typetest在命令窗口下显示test.m的内容deletetest删除M文件test.mwhichtest显示M文件test.m所在的目录2.4.MATLAB的帮助系统MATLAB5.0里有以下几种方法获得帮助:帮助命令、帮助窗口、MATLAB帮助台、在线帮助页或直接链接到MathWorks公司(对于已联网的用户)。§3数组和函数MATLAB中最基本的数据对象就是数组或矩阵3.1创建矩阵1.直接定义键入:A=[123;456]2.一维数组的简单构造x=0:0.1:1%从0到1,增量为0.1。x=linspace(0,pi,11)%11个从0到pi的等间隔数.当需要对数分隔的数组时,MATLAB提供了函数logspace.格式:x=logspace(first,last,n)创建从10的first次方开始,到10的last次方结束,有n个元素的对数分隔行向量x.所需的数组不具有易于描述的线性或对数分隔关系,这时使用数组编址和表达式结合的功能可避免每次一个地输入数组元素。例如,键入:a=1:5;b=1:2:9;c=[ba]转置算子(’)把行向量变成列向量。如键入:a=1:4;%表示从1到4,增量为1的行向量b=a’%表示向量的转置1)当数组是复数时,(’)产生的是复数共轭转置;2)(.’)只对数组转置,但不进行共轭。3.在MATLAB中,数组元素用下标访问,如y(2)是y的第2个元素。例如,键入:y(3)%表示y的第3个元素为了同时访问一块元素,MATLAB用冒号来表示.键入:x(1:5)键入:y(3:-1:1)3:-1:1表示从3开始减1计数,到1为止.。键入:y([8291])这里是按照数组[8291]提供的次序来提取y数组中的元素从一个矩阵中取出若干行(列)构成新矩阵称为剪裁,“:”是非常重要的剪裁工具。例如,键入:A=[123;456;789];A(3,:)%A的第3行键入:A(:,1)%A的第1列键入:B=A(2:3,:)%A的第2,3行A(:)逐列提取A中的所有元素作为一个列向量。A(i)把A看作列向量A(:),提取其中第i个元素。A(r,c)提取A中,由索引向量r定义的行,和由索引向量c定义的列所构成的A的子数组。A(r,:)提取A中,由索引向量r定义的行,和全部列所构成的A的子数组。A(:,c)提取A中,由全部行,和由索引向量c定义的列所构成的A的子数组。1.标量-数组运算标量与数组的加、减、乘、除和点乘方(.^)是对数组的每个元素进行运算,得到同样大小的数组。例如,键入:a=1:5;3*a-5输出:ans=-214710键入:a.^2输出:ans=14916252.数组-数组运算当两个数组具有相同大小时,加、减、点乘(.*)、点除(./)、和点乘方运算(.^)是按元素对元素方式进行的。例如,键入:g=[123;567;8910];h=[111;222;333];g.*h输出:ans=1231012142427303.3矩阵的运算B,即X=A\B;MATLAB提供了下列矩阵运算+加法;-减法;’转置运算;*乘法;^乘幂;\左除;/右除设A是可逆矩阵,1)AX=B的解是A左除B,即X=A\B,意为用A-1左乘以B。2)XA=B的解是A右除B,即X=B/A,意为用A-1右乘以B。3.4函数1.常用的数学函数MATLAB中的常用数学函数有三角函数:正弦sin(x),双曲正弦sinh(x),反正弦asin(x),反双曲正弦asinh(x),cos(x),tan(x),cot(x),sec(x),csc(x)等。指数函数:exp(x),自然对数log(x),常用对数log10(x),以2为底的对数log2(x),平方根sqrt(x)等。整值函数:朝零方向取整fix(x),朝-¥方向取整floor(x),朝+¥方向取整ceil(x),四舍五入到最接近的整数round(x),符号函数sign(x)等。其他数学函数:绝对值或复数的幅值abs(x)等2.数组特征及矩阵操作函数size(A)返回一个二元素向量,第一个元素为A的行数,第二个元素为A的列数size(A,1)返回A的行数size(A,2)返回A的列数length(A)返回max(size(A))flipud(A)矩阵作上下翻转fliplr(A)矩阵作左右翻转diag(A)提取A的对角元素返回列向量diag(v)以向量v作对角元素创建对角矩阵最大值max,最小值min,求和sum,求平均值mean,按升序排列sort等函数,只有当它们作用于向量时才有意义,它们也可作用于矩阵,此时产生一个行向量,行向量的每个元素是函数作用于矩阵相应列向量的结果3.矩阵函数d=eig(A),[v,d]=eig(A)特征值与特征向量det(A)行列式计算inv(A)矩阵的逆orth(A)正交化poly(A)特征多项式rank(A)矩阵的秩trace(A)矩阵的迹(对角元素之和)zeros(m,n)m行n列的零矩阵ones(m,n)m行n列的全1矩阵eye(n)n阶单位矩阵rand(m,n)m行n列的均匀分布随机数矩阵randn(m,n)m行n列的正态分布随机数矩阵§4图形功能4.1二维图形1.基本的绘图命令plot命令打开一个称为图形窗口的窗口,将坐标轴缩扩以适应数据
本文标题:第一章matlab软件初步
链接地址:https://www.777doc.com/doc-2201918 .html