您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > matlab复习提纲
第一章MATLAB语言基础命令窗口的分页输出•moreoff:不允许分页moreon:允许分页•more(n):指定每页输出的行数多行命令(…)•如果命令语句超过一行或者太长希望分行输入,则可以使用多行命令继续输入。一些特殊的变量ans:用于结果的缺省变量名i、j:虚数单位pi:圆周率nargin:函数的输入变量个数eps:计算机的最小数nargout:函数的输出变量个数inf:无穷大realmin:最小正实数realmax:最大正实数nan:不定量MATLAB的工作空间包含了一组可以在命令窗口中调整(调用)的参数•who:显示当前工作空间中所有变量的一个简单列表•whos:则列出变量的大小、数据格式等详细信息•clear:清除工作空间中所有的变量•clear变量名:清除指定的变量保存和载入workspace(1)savefilenamevariables•将变量列表variables所列出的变量保存到磁盘文件filename中•Variables所表示的变量列表中,不能用逗号,各个不同的变量之间只能用空格来分隔。(2)loadfilenamevariables•将以前用save命令保存的变量variables从磁盘文件中调入MATLAB工作空间。•用load命令调入的变量,其名称为用save命令保存时的名称,取值也一样。•Variables所表示的变量列表中,不能用逗号,各个不同的变量之间只能用空格来分隔。文件管理•what:显示当前目录下所有与matlab相关的文件及它们的路径。•dir:显示当前目录下所有的文件•which:显示某个文件的路径•cdpath:由当前目录进入path目录•cd..:返回上一级目录•cd:显示当前目录•typefilename:在命令窗口中显示文件filename•deletefilename:删除文件filename使用帮助help命令,在命令窗口中显示helpwin:帮助窗口helpdesk:帮助桌面,浏览器模式lookfor命令:返回包含指定关键词的那些项demo:打开示例窗口结构数组和细胞数组结构数组元素是结构类型数据,包含结构类型的所有域,类似于数据库中的记录;域名(field)类似于数据库中的字段名。结构数组名与域名之间以圆点“.”间隔,不同域的维数、类型可以不同,用于存储不同类型的数据。结构数组的创建(1)对域赋值创建struct_name(record#).field_name=data,创建1*1的结构数组时可省略记录号。(2)利用struct函数创建结构数组1)struct_name=struct(‘field1’,{},’field2’,{},…)2)struct_name=struct(‘field1’,values1,’field2’,values2,…)利用格式1)命令创建结构数组时,只创建含指定域名的空结构数组;利用格式2)的命令创建结构数组时,valuesn以细胞数组的形式指定各域的值。结构数组的操作(1)向结构数组中添加新的域通过对结构数组中任一元素所需的域进行赋值即可(空值亦可),未赋值的域自动填入空值。(2)获取结构数组中域名,fieldnames(struct_name)(3)删除结构数组中的域1)rmfield(struct_name,field_name)2)rmfield(struct_name,{fields})(4)删除结构数组中的元素将欲删除的元素赋空值即可(5)获取结构数组中的域值1)直接引用(1)struct_name.field_name(m,n)(2)struct_name(i,j).field_name(m,n)格式(1)只适用于1*1的结构数组,返回指定的域值。当域为数组时,需指定其行号和列号m、n,若不指定,则获得该域所有的值。格式(2)适用于维数高于1*1的结构数组,但不能同时获取多个域值或多个元素同一域值。如果需要获取所有元素同一域的值,可以采用循环语句。2)利用函数getfield(1)getfield(struct_name,field_name,{m,n})(2)getfield(struct_name,{i,j},field_name,{m,n})格式(1)等价于struct_name.field_name(m,n)格式(2)等价于struct_name(i,j).field_name(m,n)。(6)设置结构数组中的域值1)直接赋值(1)struct_name.field_name(m,n)=field_value(2)struct_name(i,j).field_name(m,n)=field_value格式(1)只适用于1*1的结构数组,给指定的域赋值。当域为数组时,需指定其行号和列号m、n,若不指定,须以数组形式赋值。格式(2)适用于维数高于1*1的结构数组,但不能同时给多个域或多个元素赋值。2)利用函数setfield(1)struct_name=setfield(struct_name,’field’,{m,n},field_value)(2)struct_name=setfield(struct_name,{i,j},’field’,{m,n},field_value)格式(1)等价于struct_name.field_name(m,n)=field_value。格式(2)等价于struct_name(i,j).field_name(m,n)=field_value。(7)结构数组的域排序1)struct_name=orderfields(struct_name1),按照结构数组struct_name1中域名的ASCII码排序2)struct_name=orderfields(struct_name1,struct_name2),使结构数组struct_name1中的域名按照结构数组struct_name2中的域名顺序排列,struct_name2中的域名必须和struct_name1中的域名相同。3)struct_name=orderfields(struct_name1,c),使结构数组struct_name1中的域名按照c指定的顺序排列,c指定的域名必须和struct_name1的域名相同。4)struct_name=orderfields(struct_name1,perm),使结构数组struct_name1中的域名按照perm指定的顺序排列,perm的元素个数必须与结构数组struct_name1中的域名个数一致。5)[struct_name,perm]=orderfields(…),格式(5)返回按照格式(1~4)排序后新的结构数组struct_name及排序顺序号perm。(8)结构数组及其域的判定1)tf=isstruct(A),判断A是否为结构数组,是tf=1,否tf=0;2)isfield(struct_name,field_name),判断指定的域名field_name是否为结构数组struct_name的域,是tf=1,否tf=0。细胞数组特点细胞数组(cellarray)与结构数组类似,也是把一组类型、维数不同的数据组织在一起,存储在细胞数组中,与结构数组不同的是,结构数组中的元素有域及域名,对数组元素数据的访问是通过域名实现的。细胞数组的基本元素是细胞(cell),每个细胞可以存储不同类型、不同维数的数据,通过下标区分不同的细胞。创建细胞数组(1)通过赋值创建细胞数组cell_name{i,j}={value}注意:花括号和圆括号在使用上的细微区别,花括号表示细胞元素的内容;圆括号表示细胞元素。在建立细胞数组时,是通过给细胞元素赋值来确定细胞元素的。细胞数组结构图可以通过cellplot绘出。(2)利用函数cell创建细胞数组1)cell_name=cell(n),创建一个n×n的空细胞数组2)cell_name=cell(m,n)或cell_name=cell([mn]),创建一个m×n的空细胞数组3)cell_name=cell(m,n,p,…)或cell_name=cell([mnp…]),创建一个m×n×p×…的空细胞数组4)cell_name=cell(size(A)),创建一个与A维数相同的空细胞数组细胞数组的操作(1)细胞数组的扩充与重组——与数值数组方法类似(2)细胞元素的改写和删除细胞元素内容的改写只需重新赋值,删除只需赋以空值即可(用花括号),但不改变细胞元素的个数。要删除细胞元素,则需整行或整列删除(用圆括号)。(3)细胞数组的数据显示celldisp(cell_name)(4)细胞数组的访问1)细胞元素的访问,cell_name(i,j)2)细胞元素内容的访问,cell_name{i,j}(m,n)注意花括号和圆括号的使用。第二章MATLAB的数值计算创建矩阵的方法直接输入法,规则:矩阵元素必须用[]括住;矩阵元素必须用逗号或空格分隔;在[]内矩阵的行与行之间必须用分号分隔。冒号的作用用于生成等间隔的向量,默认间隔为1;用于选出矩阵指定行、列及元素;循环语句。语句生成(1)用线性等间距生成向量矩阵(start:step:end)(2)a=linspace(n1,n2,n)在线性空间上,行矢量的值从n1到n2,数据个数为n,缺省n为100。(3)a=logspace(n1,n2,n)在对数空间上,行矢量的值从10n1到10n2,数据个数为n,缺省n为50。这个指令为建立对数频域轴坐标提供了方便。矩阵下标MATLAB通过确认矩阵下标,可以对矩阵进行插入子块,提取子块和重排子块的操作。A(m,n):提取第m行,第n列元素A(:,n):提取第n列元素A(m,:):提取第m行元素A(m1:m2,n1:n2):提取第m1行到第m2行和第n1列到第n2列的所有元素(提取子块)。A(:):得到一个长列矢量,该矢量的元素按矩阵的列进行排列。矩阵扩展:如果在原矩阵中一个不存在的地址位置上设定一个数(赋值),则该矩阵会自动扩展行列数,并在该位置上添加这个数,而且在其他没有指定的位置补零。消除子块:如果将矩阵的子块赋值为空矩阵[],则相当于消除了相应的矩阵子块。矩阵的大小[m,n]=size(A,x):返回矩阵的行列数m与n,当x=1,则只返回行数m,当x=2,则只返回列数n。length(A)=max(size(A)):返回行数或列数的最大值。用matlab函数创建矩阵空阵[]—matlab允许输入空阵,当一项操作无结果时,返回空阵。单位矩阵:eye(m,n);eye(m)零矩阵:zeros(m,n);zeros(m)一矩阵:ones(m,n);ones(m)对角矩阵:对角元素向量V=[a1,a2,…,an]A=diag(V)矩阵运算矩阵加、减(+,-)运算规则:相加、减的两矩阵必须有相同的行和列两矩阵对应元素相加减;允许参与运算的两矩阵之一是标量。标量与矩阵的所有元素分别进行加减操作。矩阵乘()运算规则:A矩阵的列数必须等于B矩阵的行数;标量可与任何矩阵相乘。矩阵的其它运算inv——矩阵求逆;det——行列式的值;eig——矩阵的特征值;diag——对角矩阵;’——矩阵转置;sqrt——矩阵开方;矩阵的变向:rot90:旋转;fliplr:上翻;flipud:下翻矩阵的数组运算数组运算指元素对元素的算术运算,与通常意义上的由符号表示的线性代数矩阵运算不同多项式运算(1)多项式的建立与表示方法使用函数roots可以求出多项式等于0的根,根用列向量表示。若已知多项式等于0的根,函数poly可以求出相应多项式。(2)多项式的运算相乘conv,可以嵌套使用相除deconv,[q,r]=deconv(c,b)求多项式的微分多项式polyder求多项式函数值polyval(p,n):将值n代入多项式求解。(3)多项式的拟合多项式拟合又称为曲线拟合,其目的就是在众多的样本点中进行拟合,找出满足样本点分布的多项式。这在分析实验数据,将实验数据做解析描述时非常有用。命
本文标题:matlab复习提纲
链接地址:https://www.777doc.com/doc-5742043 .html