您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 电子设计/PCB > Matlab介绍入门知识
Matlab介绍入门知识1.Matlab简介MATLAB的含义是矩阵实验室(MATRIXLABORATORY),主要用于方便矩阵的存取,其基本元素是无须定义维数的矩阵.MATLAB自问世以来,就是以数值计算称.MATLAB进行数值计算的基本单位是复数数组(或称阵列),这使得MATLAB高度“向量化”.经过十几年的完善和扩充,现已发展成为线性代数课程的标准工具.由于它不需定义数组的维数,并给出矩阵函数、特殊矩阵专门的库函数,使之在求解诸如信号处理、建模、系统识别、控制、优化等领域的问题时,显得大为简捷、高效、方便,这是其它高级语言所不能比拟的.MATLAB中包括了被称作工具箱(TOOLBOX)的各类应用问题的求解工具.工具箱实际上是对MATLAB进行扩展应用的一系列MATLAB函数(称为M文件),它可用来求解各类学科的问题,包括信号处理、图象处理、控制系统辨识、神经网络等.随着MATLAB版本的不断升级,其所含的工具箱的功能也越来越丰富,因此,应用范围也越来越广泛,MATLAB提供的工具箱已覆盖信号处理、系统控制、统计计算、优化计算、神经网络、小波分析、偏微分方程、模糊逻辑、动态系统模拟、系统辨识和符号运算等领域.当前它的使用范围涵盖了工业、电子、医疗、建筑等各行各业.MATLAB中包括了图形界面编辑GUI,让使用者也可以象VB、VC、VJ、DELPHI等那样进行一般的可视化的程序编辑.在命令窗口(matlabcommandwindow)键入simulink,就出现(SIMULINK)窗口.以往十分困难的系统仿真问题,用SIMULINK只需拖动鼠标即可轻而易举地解决问题,这也是近来受到重视的原因所在.MATLAB语言由美国TheMathWorks开发,最早是由C.Moler用Fortran语言编写的,用来方便地调用LINPACK和EISPACK矩阵代数软件包的程序.后来他创立了MATHHWORKS公司,对MATLAB作了大量的、坚持不懈的改进.CleveB.Moler是TheMathWork公司的主席和首席科学家.曾任密歇系教授.他在两个计算机硬件制造商Intel公司的Hypercube组织和ArdenComputers公司工作了五年.他的主要专业兴趣在于数值分析和科学计算.他是MATLAB软件的创始者,也是著名的矩阵计算软件包LINPACK和EISPACK的著作这一,已撰写了三本有相关数值方法的教材.同时,他在SIAM(美国工业与应用数学学会)历任期刊编辑、委员会成员和副总裁,并从1996年开始担任理事会成员.2.Matlab入门知识Matlab变量名是以字母开头,后接字母、数字或下划线的字符序列,最多63个字符.在MATLAB中,变量名区分字母的大小写.赋值语句:变量=表达式或表达式其中表达式是用运算符将有关运算量连接起来的式子,其结果是一个矩阵.clear命令用于删除MATLAB工作空间中的变量.who和whos这两个命令用于显示在MATLAB工作空间中已经驻留的变量名清单.who命令只显示出驻留变量的名称,whos在给出变量名的同时,还给出它们的大小、所占字节数及数据类型等信息.利用MAT文件可以把当前MATLAB工作空间中的一些有用变量长久地保留下来,扩展名是.mat.MAT文件的生成和装入由save和load命令来完成.常用格式为:save文件名[变量名表][-append][-ascii]load文件名[变量名表][-ascii]其中,文件名可以带路径,但不需带扩展名.mat,命令隐含一定对.mat文件进行操作.变量名表中的变量个数不限,只要内存或文件中存在即可,变量名之间以空格分隔.当变量名表省略时,保存或装入全部变量.-ascii选项使文件以ASCII格式处理,省略该选项时文件将以二进制格式处理.save命令中的-append选项控制将变量追加到MAT文件中.(1)向量的创建用步长生成法:数组=初值:步长(增量):终值a=1:0.5:3a=1.00001.50002.00002.50003.0000用linspace生成:数组=linspace(初值,终值,等分点数目)b=linspace(1,3,5)b=1.00001.50002.00002.50003.0000列向量用分号(;)作为分行标记:c=[1;2;3;4;]c=1234若不想输出结果,在每一条语句后用分号作为结束符,若留空或用逗号结束,则在执行该语句后会把结果输出来.a+b;a+bans=23456(2)矩阵的创建直接输入:最简单的建立矩阵的方法是从键盘直接输入矩阵的元素.具体方法如下:将矩阵的元素用方括号括起来,按矩阵行的顺序输入各元素,同一行的各元素之间用空格或逗号分隔,不同行的元素之间用分号分隔.A=[123;456;235]A=123456235利用矩阵函数创建:B=magic(3)%魔方阵B=816357492C=hilb(3)%3阶Hilbert矩阵C=1.00000.50000.33330.50000.33330.25000.33330.25000.2000Matlab中用%引导注释其它创建矩阵函数还有:eye(m,n):生成m行n列单位矩阵.zeros(m,n):生成m行n列全零矩阵.ones(m,n):生成全1矩阵.rand(m,n):生成随机矩阵.rand:生成一个随机数.diag(A):取A的对角线元素.tril(A):取A的下三角元素.triu(A):取A的上三角元素.hilb(n):生成n维Hilbert矩阵.randn(n):产生均值为0,方差为1的标准正态分布随机矩阵.vander(V):生成以向量V为基础向量的范得蒙矩阵.invhilb(n):求n阶的希尔伯特矩阵的逆矩阵.toeplitz(x,y):生成一个以x为第一列,y为第一行的托普利兹矩阵compan(p):生成伴随矩阵,p是一个多项式的系数向量,高次幂系数排在前,低次幂排在后.pascal(n):生成一个n阶帕斯卡矩阵.compan:生成伴随矩阵(3)矩阵运算MATLAB的基本算术运算有:+(加)、-(减)、*(乘)、/(右除)、\(左除)、^(乘方).加法:A+Bans=939710136127减法:B-Aans=7-13-10126-3乘法:A*Bans=263826718371456243除法:magic(3)/hilb(3)ans=1.0e+003*0.2160-1.17601.14000.0570-0.40800.4500-0.22801.2240-1.1400在MATLAB中,有一种特殊的运算,因为其运算符是在有关算术运算符前面加点,所以叫点运算.点运算符有.*、./、.\和.^.两矩阵进行点运算是指它们的对应元素进行相关运算,要求两矩阵的维参数相同.A.*Bans=821812254282710MATLAB提供了6种关系运算符:(小于)、=(小于或等于)、(大于)、=(大于或等于)、==(等于)、~=(不等于).ABans=010100001MATLAB提供了3种逻辑运算符:&(与)、|(或)和~(非).在逻辑运算中,确认非零元素为真,用1表示,零元素为假,用0表示.设参与逻辑运算的是两个标量a和b,那么,a&ba,b全为非零时,运算结果为1,否则为0.a|ba,b中只要有一个非零,运算结果为1.~a当a是零时,运算结果为1;当a非零时,运算结果为0.3.矩阵操作和矩阵函数矩阵通过下标引用矩阵的元素,矩阵元素的序号就是相应元素在内存中的排列顺序.在MATLAB中,矩阵元素按列存储,先第一列,再第二列,依次类推.(1)矩阵拆分利用冒号表达式获得子矩阵.A(:,j)表示取A矩阵的第j列全部元素;A(i,:)表示A矩阵第i行的全部元素;A(i,j)表示取A矩阵第i行、第j列的元素.A(i:i+m,:)表示取A矩阵第i~i+m行的全部元素;A(:,k:k+m)表示取A矩阵第k~k+m列的全部元素,A(i:i+m,k:k+m)表示取A矩阵第i~i+m行内,并在第k~k+m列中的所有元素.此外,还可利用一般向量和end运算符来表示矩阵下标,从而获得子矩阵.end表示某一维的末尾元素下标.(2)利用空矩阵删除矩阵的元素在MATLAB中,定义[]为空矩阵.给变量X赋空矩阵的语句为X=[].(3)矩阵的转置转置运算符是单撇号(‘).(4)矩阵的旋转利用函数rot90(A,k)将矩阵A旋转90o的k倍,当k为1时可省略.(5)矩阵的左右翻转对矩阵实施左右翻转是将原矩阵的第一列和最后一列调换,第二列和倒数第二列调换,…,依次类推.MATLAB对矩阵A实施左右翻转的函数是fliplr(A).(6)矩阵的上下翻转MATLAB对矩阵A实施上下翻转的函数是flipud(A).(7)方阵A的逆矩阵inv(A)A=magic(3)A=816357492B=inv(A)B=0.1472-0.14440.0639-0.06110.02220.1056-0.01940.1889-0.1028A*Bans=1.00000-0.0000-0.00001.000000.000001.0000(8)方阵的行列式det(A)ans=-360(9)矩阵的迹C=trace(A)C=15(10)一些常用的基本初等三角函数三角函数:sin(x),cos(x),tan(x)反三角函数:asin(x),acos(x),atan(x)指数函数:exp(x)自然对数:log(x)常用对数:log10(x)以2为底的对数:log2(x)开平方:sqrt(x)绝对值:abs(x)计算一般函数值:eval(f)求虚部函数:imag(x)求实部函数:real(x)角相位函数:angle(x)共轭复数函数:conj(x)沿零方向取整:fix(x)舍入取整:round(x)沿负无穷大方向取整:floor(x)沿正无穷大方向取整:ceil(x)求除法的余数:rem符号函数:sign(x)最大公约数:gcd()4.图形可视化(1)二维绘图指令plotplot函数的基本调用格式为:plot(x,y,)其中x和y为长度相同的向量,分别用于存储x坐标和y坐标数据.plot(x)plot函数最简单的调用格式.当x是实向量时,以该向量元素的下标为横坐标,元素值为纵坐标画出一条连续曲线.实际上是绘制折线图.plot(x1,y1,x2,y2,…,xn,yn)当输入参数都为向量时,x1和y1,x2和y2,…,xn和yn分别组成一组向量对,每一组向量对的长度可以不同.每一向量对可以绘制出一条曲线,可以在同一坐标内绘制出多条曲线.plotyy(x1,y1,x2,y2)绘制出具有不同纵坐标标度的两个图形.holdon/off保持原有图形还是刷新原有图形,不带参数的hold命令在两种状态之间进行切换.plot(x1,y1,选项1,x2,y2,选项2,…,xn,yn,选项n)设置曲线样式进行绘图.选项字段见下表:表Matlab常用线形与颜色标记表符号线型符号线型符号线型颜色含义-实线.实点标记^朝上三角g绿色--虚线o圆圈朝左三角r红色:点线X叉字符朝右三角c青色-.点划线+加号p五角星m洋红*星号h六角形y黄色s方块k黑色d菱形w白色v朝下三角b蓝色(2)图形标注:title('图形名称'):图形标题xlabel('x轴说明')ylabel('y轴说明')text(x,y,'图形说明')legend('图例1','图例2',…)gtext('用鼠标确定位置的字符说明')(3)坐标控制axisaxis([xminxmaxyminymaxzminzmax])axis函数功能丰富,常用的格式还有:axisequal:纵、横坐标轴采用等长刻度.axissquare:产生正方形坐标系(缺省为矩形).axisauto:使用缺省设置.axisoff:取消坐标轴.axison:显示坐标轴.gridon/off:网格开/关boxon/off:加/不加边框线上述
本文标题:Matlab介绍入门知识
链接地址:https://www.777doc.com/doc-2887086 .html