您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 工程监理 > Matlab语言基本知识
MATLAB语言基本知识物理电气信息学院自控系宋娟2012年8月Matlab语言基本知识(一)1.掌握MATLAB常用命令clc清除命令窗口中内容clear清除工作空间中变量help对所选函数的功能、调用格式及相关函数给出说明save将工作空间中变量存储到MAT文件中load从MAT文件中读取变量到工作空间中format显示命令窗口数据格式lookfor查找具有某种功能的函数但却不知道该函数的准确名称who查询工作空间中的变量信息whos查询工作空间中变量,同时包括变量详细信息what列出指定目录下的M文件、MAT文件、MEX文件和Classwhich显示指定的外部函数(M文件)所在的目录who%列出工作空间中变量Yourvariablesare:aansbcwhos%列出工作空间中变量,同时包括变量详细信息NameSizeBytesClassa1x18doublearrayans1x18doublearrayb1x18doublearrayc1x324doublearrayGrandtotalis6elementsusing48bytessavetest%将工作空间中变量存储到test.mat文件中loadtest%从test.mat文件中读取变量到工作空间中clc%清除命令窗口中内容clear%清除工作空间中变量format%命令窗口数据显示格式命令help%函数名(回车)%对所选函数的功能、调用格式及相关函数给出说明which%显示指定的外部函数(M文件)所在的目录如:whichabc则系统会显示文件abc所在的目录what%列出指定目录下的M文件、MAT文件、MEX文件和Classlookfor%查找具有某种功能的函数但却不知道该函数的准确名称如:lookforLyapunov可列出与Lyapunov有关的所有函数。2.MATLAB变量与运算符变量命名规则如下:(1)变量名可以由英语字母、数字和下划线组成(2)变量名应以英文字母开头(3)长度不大于31个(4)区分大小写MATLAB中设置了一些特殊的变量与常量,列于下表。表1MATLAB的特殊变量与常量变量名功能说明变量名功能说明ANS默认变量名,以应答最近一次操作运算结果realmin最小的正实数i或j虚数单位INF(inf)无穷大pi圆周率NAN(nan)不定值(0/0)eps浮点数的相对误差nargin函数实际输入参数个数realmax最大的正实数nargout函数实际输出参数个数MATLAB运算符,通过下面几个表来说明MATLAB的各种常用运算符表2MATLAB算术运算符操作符功能说明操作符功能说明+加\矩阵左除-减.\数组左除*矩阵乘/矩阵右除.*数组乘./数组右除^矩阵乘方'矩阵转置.^数组乘方.'数组转置表3MATLAB关系运算符操作符功能说明==等于~=不等于大于小于=大于等于=小于等于表4MATLAB逻辑运算符逻辑运算符逻辑运算说明&and逻辑与|or逻辑或~not逻辑非xor逻辑异或表5MATLAB特殊运算符号功能说明示例符号功能说明示例:1:1:4;1:2:11.;分隔行..,分隔列…()%注释[]构成向量、矩阵!调用操作系统命令{}构成单元数组=用于赋值3.MATLAB的一维、二维数组的访问表6子数组访问与赋值常用的相关指令格式指令格式指令功能A(r,c)数组A中r指定行、c指定列之元素组成的子数组A(r,:)数组A中r指定行对应的所有列之元素组成的子数组A(:,c)数组A中c指定列对应的所有行之元素组成的子数组A(:)数组A中各列元素首尾相连组成的“一维长列”子数组A(i)一维长列子数组中的第i个元素A(r,c)=Sa数组A中r指定行、c指定列之元素组成的子数组的赋值A(:)=D(:)数组全元素赋值,保持A的行宽、列长不变,A、D两组元素总合应相同4.MATLAB的基本运算表7两种运算指令形式和实质内涵的异同表数组运算矩阵运算指令含义指令含义A.'非共轭转置A’共轭转置A=s把标量s赋给A的每个元素s+B标量s分别与B元素之和s-B,B-s标量s分别与B元素之差s.*A标量s分别与A元素之积s*A标量s分别与A每个元素之积s./B,B.\s标量s分别被B的元素除s*inv(B)B阵的逆乘sA.^nA的每个元素自乘n次A^nA阵为方阵,自乘n次A.^p对A各元素分别求非整数幂A^p方阵A的非整数乘方A+B对应元素相加A+B矩阵相加A-B对应元素相减A-B矩阵相减A.*B对应元素相乘A*B内维相同矩阵相乘A./BA的元素别B的对应元素除A/BA右除BB.\A与上相同B\AA左除Bexp(A)以自然数e为底,分别以A的元素为指数,求幂expm(A)A的矩阵指数函数log(A)对A的各元素求对数logm(A)A的矩阵对数函数sqrt(A)对A的各元素求平方根sqrtm(A)A的矩阵平方根函数5.MATLAB的常用函数表8标准数组生成函数指令含义指令含义diag产生对角形数组(对高维不适用)randn产生正态分布随机数组eye产生单位数组(对高维不适用)rand产生(0,1)均匀分布随机数组magic产生魔方数组(对高维不适用)rands产生(-1,1)均匀分布随机数组ones产生全1数组zeros产生全0数组size()返回指定矩阵的行数和列数length()返回指定矩阵的最大长度表9数组操作函数指令含义diag提取对角线元素,或生成对角阵flipud以数组“水平中线”为对称轴,交换上下对称位置上的数组元素fliplr以数组“垂直中线”为对称轴,交换左右对称位置上的数组元素reshape在总元素数不变的前提下,改变数组的“行数、列数”rot90矩阵逆时针旋转90度det方阵的行列式值rank矩阵的秩inv矩阵求逆eig矩阵的特征值'矩阵转置6.多项式运算poly——产生特征多项式系数向量roots——求多项式的根p=poly2str(c,‘x’)—(将特征多项式系数向量c转换为以习惯方式显示是多项式)conv,convs——多项式乘运算deconv——多项式除运算polyder(p)——求p的微分polyder(a,b)——求多项式a,b乘积的微分[p,q]=polyder(p1,p2)——求解多项式p1/p2微分的有理分式poly(p,A)——按数组运算规则求多项式p在自变量A的值polym(p,A)——按矩阵运算规则求多项式p在自变量A的值7.MATLAB的其他常用函数的使用练习(1)sincosasinacostanatan等exploglog10log2powsqrt等absanglerealimagfixfloorceilremsignroundsumminmax(2)allanyfindisemptyisinf各函数的用法不清楚时,请使用help命令。Matlab语言基本知识(二)1.程序设计基本知识for循环结构语法:fori=初值:增量:终值语句1……语句nend说明:1)i=初值:终值,则增量为1。2)初值、增量、终值可正可负,可以是整数,也可以是小数,只须符合数学逻辑。while循环结构语法:while逻辑表达式循环体语句end说明:1)whiIe结构依据逻辑表达式的值判断是否执行循环体语勾。若表达式的值为真,执行循环体语句一次、在反复执行时,每次都要进行判断。若表达式的值为假,则程序执行end之后的语句。2)为了避免因逻辑上的失误,而陷入死循环,建议在循环体语句的适当位置加break语句、以便程序能正常执行。(执行循环体的次数不确定;每一次执行循环体后,一定会改变while后面所跟关系式的值。)3)while循环也可以嵌套、其结构如下:while逻辑表达式1循环体语句1while逻辑表达式2循环体语句2end循环体语句3endif-else-end分支结构if表达式1语句1elseif表达式2(可选)语句2else(可选)语句3endend说明:1)if结构是一个条件分支语句,若满足表达式的条件,则往下执行;若不满足,则跳出if结构。2)elseif表达式2与else为可选项,这两条语句可依据具体情况取舍。3)注意:每一个if都对应一个end,即有几个if,记就应有几个end。switch-case结构语法:switch表达式case常量表达式1语句组1case常量表达式2语句组2……otherwise语句组nend说明:1)switch后面的表达式可以是任何类型,如数字、字符串等。2)当表达式的值与case后面常量表达式的值相等时,就执行这个case后面的语句组如果所有的常量表达式的值都与这个表达式的值不相等时,则执行otherwise后的执行语句。程序流程控制指令break、return、pause2.函数文件的结构和编写方法函数只能在函数体内对变量进行操作,也就是只能访问函数本身工作空间中的变量。M函数文件的结构:(1)函数定义行(function)(2)H1行(函数帮助文本的第一行)(3)函数帮助文本(4)函数体(5)注释函数文件编写后,保存时,其文件名必须与函数名相同。注意:函数名不要与MATLAB自身的函数命令相同。3.初步掌握程序的调式方法1)直接调试法利用echo命令:在程序的适当位置添加keyboard命令;设置或去掉断点等。keyboard命令:在程序中加入keyboard命令,可暂停程序运行,将控制权交给键盘,此时可显示程序中变量的值或对其进行修改,完成后键入return命令返回。2)调试器的使用Debug菜单说明:(有相应的快捷键)Step单步运行Stepin单步运行,遇到函数时进入函数,仍单步运行Stepout如果是在函数中,跳出函数;如果不在函数中,直接运行到下一个断点处SaveandRun存储文件并开始运行,如文件是已存储过的,则该菜单变为Run,当程序暂停在断点处时,该菜单项变为ContinueGoUntilCursor直接运行到光标所在位置ExitDebugMode退出调试方式Matlab语言基本知识(三)1.了解图形窗口与坐标系的概念MATLAB图形窗口如下:窗口的设置:axis([0,2,0,4])axissquare2.二维图形的绘制(1)plot函数的多种调用方法:plot(y)y为向量plot(t,y)t为向量、y为矩阵plot(t,y)t、y为矩阵例:y=[00.62.358.311.71517.719.420];plot(y)(2)多组变量绘图:plot(x1,y1,选项1,x2,y2,选项2,……)上面的plot格式中,选项是指为了区分多条画出曲线的颜色、线型及标记点而设定的曲线的属性。MATLAB在多组变量绘图时,可将曲线以不同的颜色、不同的线型及标记点表示出来。这些选项如下表所示:各种颜色属性选项选项意义选项意义‘r’红色‘m’粉红‘g’绿色‘c’青色‘b’兰色‘w’白色‘y’黄色‘k’黑色各种线型属性选项选项意义选项意义‘-’实线‘--’虚线‘:’点线‘-.’点划线各种标记点属性选项选项意义选项意义‘.’用点号绘制各数据点‘^’用上三角绘制各数据点‘+’用‘+’号绘制各数据点‘v’用下三角绘制各数据点‘*’用‘*’号绘制各数据点‘’用右三角绘制各数据点‘。’用‘。’号绘制各数据点‘’用左三角绘制各数据点‘s’或squar用正方形绘制各数据点‘p’用五角星绘制各数据点‘d’或diamond用菱形绘制各数据点‘h’用六角星绘制各数据点注意掌握各选项的作用与用法以及holdon与holdoff的用法。(3)对数坐标图形绘制semilogx()semilogy()loglog()(4)极坐标图形绘制polar(theta,rho,‘属性选项’)(5)子图绘制:掌握subplot()的用法subplot(n,m,k)或subplot(nmk)其中:n,m分别表示将窗口分割的行数和列数3.图形修饰与标注
本文标题:Matlab语言基本知识
链接地址:https://www.777doc.com/doc-4718652 .html