Matlab基础教程---MatlabR2009bPage2目录Matlab初步介绍Commandwindows窗口操作M文件编写Matlab二维绘图Matlab函数(filter,fft,fftshift,impz,conv)介绍Help帮助系统《MATLAB原理与工程应用》,电子工业出版社《MATLAB7基础与提高》,电子工业出版社Page3Matlab初步介绍MatrixLaboratoryMATLAB是一高性能的技术计算语言.符号计算功能强大的科学数据可视化能力多种工具箱强大的数值计算和工程运算功能Matlab是一种“演草纸式”的科学计算语言Page4Matlab主要功能可用于技术计算的高级语言可对代码、文件和数据进行管理的开发环境可以按迭代的方式探查、设计及求解问题的交互式工具可用于线性代数、统计、傅立叶分析、筛选、优化以及数值积分等的数学函数可用于可视化数据的二维和三维图形函数可用于构建自定义的图形用户界面的各种工具可将基于MATLAB的算法与外部应用程序和语言(如C、C++、Fortran、Java、COM以及MicrosoftExcel)集成的各种函数Page5Commandwindows窗口操作命令窗口中有“”这样的命令行提示符出现,输入关键字(如if,for)、字符串、注释、普通指令表达式等会用不同的颜色表示。Page6计算2sin(0.5)113y首先,我们键入,按【Enter】键,命令被执行,然后输出:12*sin(0.5*)/(3)ypisqrt默认变量Page7MATLAB的变量变量名必须是不包括空格的单个词,具体命名规则如下:变量名规则说明/举例变量名区分大小写Items、items、itEms、ITEMS都是不同的变量变量名最多不超过31个字符,第31个字符以后被忽略掉Welcome_to_china_and_I_thin和Welcome_to_china_and_I_think_you是同一变量变量必须用字母打头,之后可以是任何字母、下划线或者数字。许多标点符号在MATLAB中有特殊含义,所以这些变量不允许使用a_b_c、s83rrteyPage8表1-2变量命名的特殊规则特殊变量取值ans用于结果的默认变量pi圆周率eps计算机最小数(与1相加,产生大于1的数)flops浮点预算数inf无穷大(如2/0)NaN或者nan不定量(如0/0)Page9特殊变量取值i(或j)i=j=sqrt(-1)nargin所有函数的输入变量数目nargout所有函数的输出变量数目realmin最小可用正实数realmax最大可用正实数Page10指令窗口的常用控制指令指令含义指令含义cd设置当前工作目录exit关闭/退出MATLABclf清除图形窗口quit关闭/退出MATLABclc清除命令窗口的显示内容md创建目录clear清除MATLAB工作空间中保存的变量more使其后的显示目录内容分页进行dir列出制定目录下的文件和子目录清单type显示指定M文件的内容edit打开M文件编辑器which指出其后文件所在的目录Page11在MATLAB运行期间(即程序退出以前),除非调用clear函数,否则matlab会在内存中保存全部的变量值,包括命令行输入的变量以及执行程序文件所引入的变量。clear函数可清除内存中的所有变量。如前所述,在matlab运行期间可随时通过输入变量名或从表达式中引用变量名来访问变量的当前数值(在未调用clear函数以前)。这些变量可作为全局变量加以引用。Page12Matlab基本语法Matlab要求表达式在使用变量以前一定要先对其进行赋值。对变量赋值。用户输入系统响应用户输入用户输入系统响应系统响应对变量赋值将字符串赋予变量将矢量赋予字符串Page13MATLAB允许在一行中输入多个表达式,行尾以按Enter键结束。表达式间以逗号或分号进行分隔。使用逗号分隔表达式时,系统会回显输入的数值。如用分号分隔表达式,则系统不会输出响应信息。Page14矢量与矩阵Matlab提供了定义简单数组的简单形式,使用语法为:初值:增量:终值Page15两个非常有用的的函数可生成矩阵的元素ones(r,c)创建一个元素为1的(r×c)矩阵。zeros(r,c)创建一个元素为0的(r×c)矩阵。Page16数学表达式MATLAB表达式2xdc2(2/)xdc2.7(2)/xdcg2xdc21xdc1*^(2)dcx*^22*^dcxordcx(2/)*^(2)2/*^(2)dcxordcx(*^2)/^2.7dcxg(*^2)^0.5(*^2)dcxorsqrtdcx表1.1MATLAB语法举例Page17表1.2基本函数数学表达式MATLAB表达式符号函数xexln()log()exorx||x10log()xexp()x()sqrtxlog()xlog10()x()absx()signxPage18函数函数反函数正弦sin(x)asin(x)余弦cos(x)acos(x)正切tan(x)atan(x)表1.3MATLAB的三角函数Page19M文件编辑器简介M文件编辑器的启动方法有以下几种。单击桌面的matlab图标,或选中【File】【New】→【BlankM-File】菜单项,可打开空白的M文件编辑器。单击桌面上的MATLAB图标,或选中【File】→【Open】菜单项,可弹出“Open”文件选择对话框,在填写所选文件名以后,在单击【Open】按钮,就可以打开相应的M文件编辑器。用鼠标左键双击目录窗口中所需的M文件,可直接弹出显示相应文件内容的M文件编辑器。Page20MATLAB二维绘图函数当一段程序(函数)用几个图形函数时,MATLAB将生成一个图形窗口。然而,在生成新的图形函数之前,任何先前生成的图形函数将被移走。为使的程序中的每一副图形都显示。figure(n)subplot(i,j,k)Page21subplot绘图函数subplot(m,n,p)把figure(n)创建的图形窗口分为m行,n列个窗口,p顺时针方向来定位小窗口的位置。Page22figure(1)plottingexpressions...figure(2)subplot(1,2,1)plottingexpressions...subplot(1,2,2)plottingexpressionsPage23figure(3)subplot(2,1,1)plottingexpressions...subplot(2,1,2)plottingexpressionsfigure(4)subplot(2,3,3)plottingexpressionssubplot(2,3,2)plottingexpressionssubplot(2,3,1)plottingexpressionssubplot(2,3,4)plottingexpressionssubplot(2,3,5)plottingexpressionssubplot(2,3,6)plottingexpressionsPage24Page25Page26基本二维绘图命令plot(X,'s')X为实向量时,则表示以该向量元素的下标为横坐标、元素值为纵坐标画出一条连续曲线。X为实矩阵时,则表示按照列绘制每列元素值相对其下标的曲线,曲线数等于X矩阵的列数。X是复数矩阵时,则表示分别以元素实部和虚部为横、纵坐标绘制多条曲线。Page27plot(X,Y,'s')X,Y为同维向量时,绘制以X,Y元素为横、纵坐标的曲线;X是向量,Y是有一维与X等维的矩阵时,则绘制出多根不同色彩的曲线。X是矩阵,Y是向量时,情况与上面的相同,只是以Y为共同的纵坐标;X,Y是同维矩阵时,则以X,Y对应列元素为横纵坐标分别绘制曲线,曲线条数等于矩阵列数。plot(X1,Y1,'s1',X2,Y2,'s2',....)在这个格式中,每个“三元组”(X,Y,'s')的结构和作用与plot(X,Y,'s')相同。不同的三元组之间没有约束。Page28线型、顶点标记和颜色符号颜色符号线型b蓝色.点c青色。圆圈g绿色Xx标记k黑色+加号m紫红色*星号r红色-实线w白色:点线y黄色-.点划线--虚线Page29符号含义符号含义.实心黑点h六角形符hexagram+十字符o空心圆圈*八线符p五角星符^朝上三角符s方块符朝左三角符x叉字符朝右三角符d菱形符diamond数据点允许设置值Page30x=-pi:.1:pi;y=sin(x);plot(x,y,‘-b+’)-4-3-2-101234-1-0.8-0.6-0.4-0.200.20.40.60.81Page31x=0:.01:2*pi;y1=sin(x);y2=sin(2*x);y3=sin(4*x);plot(x,[y1;y2;y3])legend('y=sin(x)','y=sin(2x)','y=sin(4x)')01234567-1-0.8-0.6-0.4-0.200.20.40.60.81y=sin(x)y=sin(2x)y=sin(4x)Page32分格线控制和图形标注1.分格线控制(1)grid:是否画分格线的双向切换指令(使当前分格线状态翻转);(2)gridon:画出分格线;(3)gridoff:不画分格线;(4)box:坐标形式在封闭式和开启式之间切换指令;(5)boxon:使当前坐标呈现封闭形式。(6)boxoff:使得当前坐标呈现开启形式说明:默认情况下,所画坐标呈封闭状态。Page33坐标轴名label给坐标轴x,y,z加标注,只要调用相应的xlabel,ylabel和zlabel即可。xlabel('text','property1',propertyvalue,'property2',propertyvalue2)书写图名titletitle('text','property1',propertyvalue,'property2',propertyvalue2)axis([xminxmaxyminymax])调整坐标轴的显示范围添加图例legendlegend(string1,string2,string3,....,Pos);Page34Examplesx=-pi:pi/20:pi;plot(x,cos(x),'-ro',x,sin(x),'-.b')legend('cos_x','sin_x',2);axis([-44-11]);xlabel('x');ylabel('cosxorsin(x)');title('例子');boxon;gridon;-4-3-2-101234-1-0.8-0.6-0.4-0.200.20.40.60.81cosxsinxlegend('cos_x','sin_x,2')legend('cos_x','sin_x',1)legend('cos_x','sin_x',3)legend('cos_x','sin_x',4)Page35式中“Pos”的取值的及含义如下:0=自动把图例置于最佳位置,即和图中曲线重复最少1=置于图形右上角(默认值);2=置于图形左上角;3=置于图形左下角;4=置于图形右下角;-1=置于图形右侧(外部);Page36添加文本字符串textMATLAB可以用text函数在图形窗口的任意位置加入文本字符串。该函数的调用格式为:text(x,y,'string')其中:x值和y值用于指定加入字符串的位置,“string”是需要添加的字符串。该字符串中也可以添加由“\引导的特征字符串来表示特殊符号。Page37x=0:.05:6;figure(1);%生成图形窗口plot(x,cos(x),'-ro',x,1./cosh(x),'-.b',[4.734.73],[-11],'k')%绘%图函数xlabel('x