您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > MATLAB经典教程(全)
MATLAB基础讲解DEP.MathphyofJUSTWangChengyi2MATLAB1MATLAB简介3Matlab简介在欧美各高等院校,Matlab已经成为线性代数、数值分析、数理统计、自动控制理论、数字信号处理、时间序列分析、动态系统仿真、图像处理等课程的基本教学工具,已成为大学生必须掌握的基本技能之一。Matlab功能强大、简单易学、编程效率高,深受广大科技工作者的欢迎。Matlab是一种广泛应用于工程计算及数值分析领域的新型高级语言,自1984年推向市场以来,历经二十多年的发展与竞争,现已成为国际公认的最优秀的工程应用开发环境。4Matlab简介Matlab:MatrixLaboratory矩阵实验室Matlab的发展1980年,Moler教授用Fortran语言编写了集命令翻译、科学计算于一身的一套交互式软件系统。1984年,Moler等成立了TheMathWorks的公司,用C语言完全改写Matlab,并推出第一个商业版。增添图形图像处理、符号运算、以及与其他流行软件的接口功能,使得Matlab的功能越来越强大。到九十年代,在国际上30几个数学类科技应用软件中,Matlab在数值计算方面独占鳌头。5目前,Matlab已成为世界顶尖的数学应用软件,以其强大的工程计算、算法研究、工程绘图、应用程序开发、数据分析和动态仿真等功能,在航空航天、机械制造和工程建筑等领域发挥着越来越重要的作用。就影响而言,至今仍然没有一个别的计算软件可与Matlab匹敌。Matlab的发行1984年,Matlab1.0(DOS版,182K,20多个函数)1992年,Matlab4.0(93年推出Windows版,加入simulink)1994年,Matlab4.2(得到广泛重视和应用)1999年,Matlab5.3(真正实现32位运算)2002年,Matlab6.5(采用JIT加速器)2004年,Matlab7.0自2006年起,Matlab每年更新两次Matlab简介6购买(下载)Matlab软件Matlab的安装插入光盘,自动运行;或点击安装程序setup.exe必须安装的部件•Matlab•SymbolicMathToolbox•ExtendedSymbolicMath这里以Matlab7.0.4为例自R2008a开始增加了激活要求7Matlab的特点与功能Matlab具有很强的数值计算功能Matlab以矩阵作为数据操作的基本单位,但无需预先指定矩阵维数(动态定维)按照IEEE的数值计算标准进行计算提供十分丰富的数值计算函数,方便计算,提高效率Matlab命令与数学中的符号、公式非常接近,可读性强,容易掌握Matlab是一个交互式软件系统输入一条命令,立即就可以得出该命令的结果8Matlab的特点与功能Matlab符号计算功能Matlab和著名的符号计算语言Maple相结合Matlab的编程功能Matlab具有程序结构控制、函数调用、数据结构、输入输出、面向对象等程序语言特征,而且简单易学、编程效率高。通过Matlab进行编程完成特定的任务Matlab的绘图功能Matlab提供丰富的绘图命令,很方便实现数据的可视化9Matlab丰富的工具箱(toolbox)Matlab的特点与功能根据专门领域中的特殊需要而设计的各种可选工具箱Matlab的Simulink动态仿真集成环境提供建立系统模型、选择仿真参数和数值算法、启动仿真程序对该系统进行仿真、设置不同的输出方式来观察仿真结果等功能SymbolicMathPDEOptimizationSignalprocessImageProcessStatisticsControlSystemSystemIdentification……10Matlab的基本用法Matlab系统的启动使用Windows“开始”菜单运行Matlab系统启动程序matlab双击Matlab快捷图标Matlab系统的退出在Matlab主窗口File菜单中选择ExitMatlab在Matlab命令窗口输入exit或quit单击Matlab主窗口的“关闭”按钮11Matlab的工作界面命令窗口当前工作目录当前工作空间输入命令的历史记录命令提示符12定义矩阵:直接输入法矩阵用方括号“[]”括起例:A=[123;456;789]矩阵同一行中的元素之间用空格或逗号分隔矩阵行与行之间用分号分开直接输入法中,分号可以用回车代替例:矩阵Matlab的操作对象是矩阵:命令提示符,不用输入回车:运行所输入的命令13矩阵元素可以是任何数值表达式例:x=[-1.3,sqrt(3),(1+2+3)*4/5]矩阵元素赋值矩阵元素的单独赋值例:x(5)=abs(x(1))例:x(5)=abs(x(6))??Matlab自动将向量x的长度扩展到5,并将未赋值部分置零。14大矩阵可以把小矩阵作为其元素矩阵元素赋值例:A=[A;111213]在原矩阵的下方加一行如何在原矩阵的右边添加一列?15单个元素的引用例:A(2,3)矩阵元素的引用多个元素的引用:冒号的特殊用法利用小括弧和元素所在的位置(下标)x(i):向量x中的第i个元素A(i,j):矩阵A中的第i行,第j列元素a:b:c产生一个由等差序列组成的向量;a是首项,b是公差,c确定最后一项;若b=1,则b可以省略。例:x=1:2:5y=1:2:6例:x=2:1:5y=2:5例:x=3:2:116例:x(1:3)A(3,1:3)矩阵元素的引用A(i:j,m:n)表示由矩阵A的第i到第j行和第m到第n列交叉线上的元素组成的子矩阵。可利用冒号提取矩阵的整行或整列。例:A(1,:)A(:,1:3)A(:,:)17Matlab帮助系统联机帮助help显示指定命令的简短使用说明例:helpeighelphelp详细使用帮助doc以网页形式显示指定命令的帮助页例:doceig其它相关命令helpdesk、helpwin18Matlab查找命令lookfor按指定的关键词查询与之相关的命令例:lookforinversewhich显示指定函数所在的目录例:whicheig其它相关命令cd、dir、more19变量命名原则Matlab变量以字母开头后面可以跟字母、数字和下划线长度不超过63个字符(6.5版本以前为19个)变量名区分字母的大小写Matlab语句的通常形式变量=表达式表达式是用运算符将有关运算量连接起来的式子,其结果被赋给赋值号“=”左边的变量20分号和续行符的作用Matlab变量若不想在屏幕上输出结果,可以在语句最后加分号如果语句很长,可用续行符“…”(三个点)续行续行符的前面最好留一个空格例:21变量的查询Matlab变量who显示工作空间中的所有变量whos查看工作空间中变量的详细属性22系统预定义变量Matlab变量pi:圆周率,其值为imag(log(-1))inf,Inf:无穷大nan,NaN:Not-a-Number,一个不定值,如0/0eps:浮点运算相对精度特殊变量ansi,j:虚部单位,即1应尽量避免给系统预定义变量重新赋值!23数与算术表达式Matlab数值运算Matlab中的数默认是双精度实数,表示方法同C语言3,-9,0.4,1.603e-12,3.23e+20浮点运算的相对误差为eps浮点数表示范围为:10-308~10308复数的输入z=3+4i(4与i之间不能有空格)z=3+4*i复数作为矩阵元素输入时,加号两边不能有空格!24数学运算符+加法Matlab数值运算-减法*乘法/和\除法(右除和左除)^幂运算命令分隔符:逗号和分号25输出格式Matlab的输出Matlab以双精度执行所有的运算,运算结果可以在屏幕上输出,同时赋给指定变量;若无指定变量,则系统会自动将结果赋给变量“ans”Matlab中数的输出格式可以通过format命令指定format只改变变量的输出格式,但不会影响变量的值!26各种format格式格式解释例format短格式(缺省显示格式),同short3.1416formatshort短格式(缺省显示格式),只显示5位3.1416formatlong长格式,双精度数15位,单精度数7位3.14159265358979formatshorte短格式e方式(科学计数格式)3.1416e+000formatlonge长格式e方式3.141592653589793e+000formatshortg短格式g方式3.1416formatlongg长格式g方式3.14159265358979formatcompact压缩格式formatloose自由格式format+/formatbank/formatrat/formathex(详情查看联机帮助)DrWangZhengsheng-LectureNotes27变量的存储存储当前工作空间中的变量save将所有变量存入文件matlab.matsavemydata将所有变量存入指定文件mydata.mat存储指定的变量savemydata.mat将所有变量存入文件mydata.matsave文件名变量名列表例:savemydataAxz变量名列表中各变量之间用空格分隔28变量的读取将数据文件中的变量载入当前工作空间loadmydata载入数据文件中的所有变量loadmydataAx从数据文件中提取指定变量清除当前工作空间中的变量clear清除当前工作空间中的所有变量clearAx清除指定的变量DrWangZhengsheng-LectureNotes29几个小技巧Matlab的命令记忆功能:上下箭头键命令补全功能:Tab键可以先输入命令的前几个字符,再按上下键缩小搜索范围用Esc键删除命令行DrWangZhengsheng-LectureNotes30Lecture2MATLAB矩阵(数值)运算DrWangZhengsheng-LectureNotes31利用函数建立数值矩阵:MATLAB提供了许多生成和操作矩阵的函数,可以利用它们去建立矩阵。例如:reshape函数和diag函数等。reshape函数用于建立数值矩阵。diag函数用于产生对角阵。利用M文件建立矩阵:对于比较大且比较复杂的矩阵,可以为它专门建立一个M文件。其步骤为:第一步:使用编辑程序输入文件内容。第二步:把输入的内容以纯文本方式存盘(设文件名为mymatrix.m)。第三步:在MATLAB命令窗口中输入mymatrix,就会自动建立一个名为AM的矩阵,可供以后显示和调用。1.建立矩阵DrWangZhengsheng-LectureNotes32利用M文件建立矩阵:对于比较大且比较复杂的矩阵,可以为它专门建立一个M文件。其步骤为:第一步:使用编辑程序输入文件内容。第二步:把输入的内容以纯文本方式存盘(设文件名为mymatrix.m)。第三步:在MATLAB命令窗口中输入mymatrix,就会自动建立一个名为AM的矩阵,可供以后显示和调用。子矩阵操作1.建立矩阵DrWangZhengsheng-LectureNotes332.矩阵的基本运算(1)矩阵转置(2)矩阵加和减(3)矩阵乘法(4)矩阵除法A\b=inv(A)*b(5)矩阵的乘方a^2DrWangZhengsheng-LectureNotes343.矩阵的函数helpmatfunMatrixfunctions-numericallinearalgebra.Matrixanalysis.norm-Matrixorvectornorm.normest-Estimatethematrix2-norm.rank-Matrixrank.d
本文标题:MATLAB经典教程(全)
链接地址:https://www.777doc.com/doc-3186529 .html