您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 电子商务 > MATLAB入门简介
MATLAB入门简介概述Matlab是由美国Mathworks公司推出的一个科技应用软件它的名字是由矩阵(MATrix)和实验室(LABoratory)的头三个字母组成。顾名思义,它相当于把矩阵放在实验室里做实验,Matlab是以矩阵为单位进行处理的,也就是它把一切都当作矩阵,即使是一个数也是。Matlab是一种高性能的、用于工程计算的编程软件,它把科学计算、结果可视化和编程都集中在一个使用非常方便的环境中。Matlab是一种广泛应用于工程计算及数值分析领域的新型高级语言,自1984年由美国MathWorks公司推向市场以来,历经二十多年的发展与竞争,现已成为国际公认的最优秀的工程应用开发环境。Matlab功能强大、简单易学、编程效率高,深受广大科技工作者的欢迎。在欧美各高等院校,Matlab已经成为线性代数、自动控制理论、数字信号处理、时间序列分析、动态系统仿真、图像处理等课程的基本教学工具,成为大学生、硕士生以及博士生必须掌握的基本技能。概述(续)Matlab语言的首创人是C.MolerMatlab=MatrixLaboratry矩阵实验室概述(续)1984年TheMathWorks的公司推出了第一个Matlab的商业版本,用C语言作了完全的改写。其后又增添了丰富多彩的图形图像处理、多媒体功能、符号运算和它与其他流行软件的接口功能,使得Matlab的功能越来越强大。到九十年代初期,在国际上30几个数学类科技应用软件中,Matlab在数值计算方面独占鳌头,而Mathematica和Maple则分居符号计算软件的前两名。Matlab的发展1984年,Matlab1.0版(DOS版,182K,20来个函数)1992年,Matlab4.0版(93年推出Windows版本)1994年,Matlab4.2,1999年,Matlab5.32000年,Matlab6.0,2002年,Matlab6.52004年,Matlab7.0,2006年,Matlab2006a目前,Matlab已经成为国际上最流行的科学与工程计算的软件工具,它已经不仅仅是一个“矩阵实验室”了,而成为了一种具有广泛应用前景的全新的计算机高级编程语言了,有人称它为“第四代”计算机语言。就影响而言,至今仍然没有一个别的计算软件可与Matlab匹敌。概述(续)数值计算功能Matlab是一个交互式软件系统给出一条命令,立即就可以得出该命令的结果Matlab的特点与主要功能Matlab以矩阵作为基本单位,但无需预先指定维数(动态定维)按照IEEE的数值计算标准进行计算提供十分丰富的数值计算函数,方便计算,提高效率Matlab命令与数学中的符号、公式非常接近,可读性强,容易掌握符号运算功能和著名的Maple相结合,使得Matlab具有强大的符号计算功能绘图功能Matlab提供了丰富的绘图命令,能实现一系列的可视化操作Matlab的特点与主要功能编程功能Matlab具有程序结构控制、函数调用、数据结构、输入输出、面向对象等程序语言特征,而且简单易学、编程效率高。丰富的工具箱(toolbox)Matlab包含两部分内容:基本部分和根据专门领域中的特殊需要而设计的各种可选工具箱。Simulink动态仿真集成环境提供建立系统模型、选择仿真参数和数值算法、启动仿真程序对该系统进行仿真、设置不同的输出方式来观察仿真结果等功能PDEOptimizationSymbolicMathSignalprocessImageProcessStatisticsControlSystemSystemIdentification……命令窗口当前工作目录当前工作空间输入命令的历史记录命令提示符MATLAB的联机帮助MATLAB具有完善的帮助系统(1)help/doc命令查看指定命令的使用方法(2)lookfor命令根据用户提供的关键词,去搜索出一组与之有关的命令Matlab语言规则Matlab区分大小写,它的命令和函数全是小写的一行可以输入几个命令,用分号“;”或逗号“,”隔开续行符:“…”(三个点),如果语句很长,可用续行符将一个语句写成多行。续行符的前最好留一个空格。注释符:“%”,其后面的内容为注释,对Matlab的计算不产生任何影响Matlab变量Matlab中变量名是以字母开头,可以由字母、数字或下划线组成,最多63个字符(6.5版本前为19个)变量赋值:变量=表达式赋值号左边必须是变量!系统预定义变量:eps,pi,Inf,NaN,i,jwho、whos、clearsave、loadsave-将所有变量存入文件matlab.matsavemydat/savemydat.mat-将所有变量存入mydata.matsave文件名变量名列表数与算术表达式Matlab中的数值表示一般采用十进制,可以带小数点和正负号。(1)Matlab中的数默认是双精度实数(2)浮点运算的相对精度为eps,Matlab中eps2.22e-016,即大约保持16位有效数字。(3)Matlab中数的表示范围为:10–308~10308(4)Matlab中的虚部单位:i,jz=3+4i(4与i之间无空格),z=3+4*i如:6,+6,-6.6,0.006,6.6e-6,100e60,-0.06e-012数据的输入数据输入(1)直接输入:a=[12;3,4](2)冒号“:”运算符:初值:步长:终值同一行中各元素之间用“空格”或“,”(英文状态下)分开;行与行之间用“;”或“回车”分开a=[1:5],b=[0:pi/4:pi](3)由向量或小矩阵生成:X=[a;b](5)交互式输入:inputn=input('Pleaseinputn:')(4)由数据文件生成特殊矩阵生成函数(6)一些生成特殊矩阵的函数zeros(m,n)生成一个m行n列的零矩阵,m=n时可简写为zeros(n)ones(m,n)生成一个m行n列的元素全为1的矩阵,m=n时可写为ones(n)eye(m,n)生成一个主对角线全为1的m行n列矩阵,m=n时可简写为eye(n),即为n维单位矩阵diag(X)若X是矩阵,则diag(X)为X的主对角线向量若X是向量,diag(X)产生以X为主对角线的对角矩阵tril(A)提取一个矩阵的下三角部分triu(A)提取一个矩阵的上三角部分rand(m,n)产生0~1之间均匀分布的随机矩阵m=n时简写为rand(n)randn(m,n)产生均值为0,方差为1的标准正态分布随机矩阵m=n时简写为rand(n)magic,vander,pascal,hilb矩阵元素的操作矩阵元素的提取(1)单个元素:A(2,3)(2)整行或整列:A(2,:),A(:,3)])4,2[],3,1([A=?])4,2[],1,3([A=?(3)子矩阵:A(2:5,4:8),A([1,3],[2,4]),A([3,2],[2,4])A(:,:)与A(:)的区别?(4)删除矩阵的行列:A=[],A(3,:)=[],A(:,[2,4])=[]数据输出格式Matlab以双精度执行所有的运算,结果可以在屏幕上输出,同时赋给指定变量,若无指定变量,则系统会自动将结果赋给变量“ans”Matlab中数据的输出格式可以通过format命令指定format命令只改变变量的输出格式,但不会影响变量的值formatlongformatrationalformatcompact特殊矩阵生成函数格式解释例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(详情查看联机帮助)MATLAB矩阵运算矩阵的转置:共轭“'”,非共轭“.'”矩阵的翻转和旋转:fliplr、flipud、rot90矩阵元素重组:reshape(A,m,n)查看矩阵的大小:size(A)、size(A,1)、size(A,2)将A排成一个mn的矩阵,满足mn=#A数组运算(点运算):.*,./,.\,.^矩阵算术:+,-,*,/,\,^参与“+,-,.*,./,.\”运算的对象必须具有相同的形状MATLAB矩阵运算矩阵的Kronecker乘法:kron(A,B)BaBaBaBaBaBaBaBaBaBAnmnnmm212222111211MATLAB函数取值Matlab普通函数取值设x是变量,f是一个函数,则(1)当x=a是标量时,f(x)=f(a)(2)当x是向量或矩阵时,f作用在x的每个分量上,结果为一个与x具有相同形状的向量或矩阵1111exp()exp()exp()exp()exp()nmmnaaAaaMatlab矩阵函数:expm、sqrtm、logm,funmfunm(A,@cos)MATLAB的三角函数三角函数sin(x)正弦函数asin(x)反正弦函数cos(x)余弦函数acos(x)反余弦函数tan(x)正切函数atan(x)反正切函数cot(x)余切函数acot(x)反余切函数sec(x)正割函数asec(x)反正割函数csc(x)余割函数acsc(x)反余割函数......MATLAB的基本数学函数基本数学函数abs(x)绝对值sum(x)求和max(x)最大值min(x)最小值sqrt(x)开平方exp(x)以e为底的指数log(x)自然对数log10(x)以10为底的对数sign(x)符号函数mod(x,y)两整数相除的余数conj(x)求复数的共轭real(x)取复数的实部imag(x)取复数的虚部取整函数与矩阵相关函数取整函数矩阵相关函数round(x)四舍五入到最近的整数fix(x)朝零方向取整ceil(x)朝正无穷方向取整floor(x)朝负无穷方向取整norm(A)向量或矩阵的范数rank(A)矩阵的秩det(A)矩阵的行列式trace(A)矩阵的迹inv(A)方阵的逆矩阵eig(A)特征值及特征向量size(A)矩阵的阶数cond(A)矩阵的条件数lu(A)矩阵的LU分解qr(A)矩阵的QR分解Matlab程序设计介绍Matlab是一种科学计算语言,但同时也具有和C、FORTRAN等高级语言相类似的语言特征,能方便地实现程序控制。利用Matlab的程序控制功能,可以将有关Matlab命令编成程序存储在一个文件中(M文件),然后运行该文件,Matlab就会自动依次执行文件中的命令,直到全部命令执行完毕。在Matlab程序设计中,要充分利用Matlab数据结构的特点,提供编程效率。M文件用Matlab语言编写的程序称为M文件,以“.m”为扩展名M文件根据调用方式的不同可以分为两类:M文件是由若干Matlab命令组合在一起构成的,它可以完成某些操作,也可以实现某种算法Scriptfile:命令文件/脚本文件Functionfile:函数文件事实上,Matlab提供的内部函数以及各种工具箱,都是利用Matlab语言编写的M文件用户也可以结合自己的工作需要,开发自己的程序或工具箱命令文件没有输入参数,也不返回输出参数;函数文件可以带输入参数,也可以返回输出参数命令文件对Matlab当前工作空间的变量进行操作,文件中所有命令的执行结果也返回到当前工作空间中;函数文件中定义的变量为局部变量,
本文标题:MATLAB入门简介
链接地址:https://www.777doc.com/doc-3967280 .html