您好,欢迎访问三七文档
当前位置:首页 > 幼儿/小学教育 > 小学教育 > Matlab基础知识
Matlab基础知识一、Matlab的历史与发展Matlab是MATrixLABoratory的缩写。20世纪70年代后期,时任美国新墨西哥大学计算机科学系主任的CleveMoler教授,出于减轻学生编程负担的动机,为学生设计了一组调用LINPACK和EISPACK库程序的“通俗易用”的接口,此即为萌芽状态的Matlab。1993年,基于Windows平台的Matlab4.0发布。自此,Matlab成为国际控制界公认的标准计算软件。1984年,MathWorks公司成立,Matlab作为一个商业软件正式推向市场。目前,在国际上30多个数学科技应用软件中,Matlab在数值计算方面处于绝对的领先位置。此外,基于Maple的符号计算功能以及与Word无缝连接的Notebook技术,使得Matlab成为一个融科学计算、图形可视、文字处理于一体的高水准开发环境。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操作界面简介1.CommandWindow命令窗口虽然理论上讲Matlab中所有的函数都可以在这一窗口中使用,但是由于不能多行输入,所以CommandWindow一般只用于简单的计算和作图。例:求的算术计算结果。2347212(1)用键盘在Matlab指令窗口中输入以下内容(12+2*(7-4))/3^2(2)在上述表达式输入完成后,按【Enter】键,该指令就被执行。(3)在指令执行后,Matlab指令窗口将显示以下结果:ans=2说明:Matlab基本的语法与C语言是完全一致的。本例计算结果显示中的“ans”是英文“answer”的缩写,这是Matlab用于显示结果的一个默认变量。如果在表达式(12+2*(7-4))/3^2后加上“;”,则不显示运行结果。2.CommandHistory历史命令历史指令窗记录着用户在Matlab指令窗口中输入过的所有指令行。历史记录包括:每次开启Matlab的时间,及每次开启Matlab后在指令窗口中运行过的所有指令行。在历史指令窗中不但能清楚地显示指令窗中运行过的所有指令行,而且所有这些被记录的指令行都能被复制,或送到指令窗中再运行。三、数值计算功能数值计算功能是Matlab软件的基础,Matlab所有的功能都是建立在强大的数值计算能力上的。1.变量与常量变量是任何程序设计语言的基本元素,Matlab当然也不例外。不同的是,Matlab并不要求对所使用的变量进行事先声明,也不需要制定变量类型,它会自动根据赋予变量的值或对变量所进行的操作来确定变量的类型。在Matlab中变量的命名遵守如下规则:变量名区分大小写;变量名长度不超过31位:变量名以字母开头,变量名中可包含字母、数字、下划线。Matlab有一些预定义的变量,这些特殊的变量称为常量。例如pi定义为圆周率,Inf定于为无穷大。(1)数字变量简单的数字变量的赋值和计算可以在指令窗口中直接完成。例如:x=258*369x=95202(2)字符串变量Matlab的字符串变量在结构上与C语言一样,只是定义方式略有不同。s='matrixlaboratory's=matrixlaboratory输入矩阵时要以“[]”为其标识,即矩阵的元素应在“[]”内部。矩阵的同行元素之间可用空格或“,”分隔,行与行之间要用“;”或回车符分隔。矩阵的大小可不预先定义。矩阵元素可以为运算表达式。无任何元素的空矩阵也是合法的。例如:a=[1,2,3;4,5,6;sin(pi/6),cos(pi/3),3^2]a=1.00002.00003.00004.00005.00006.00000.50000.50009.00002)矩阵的基本数学运算矩阵的基本运算包括矩阵的四则运算、与常数的运算、行列式运算、幂运算、指数运算、对数运算和开方运算等等。Matlab还有一些特殊而实用的矩阵运算。其中最常用的是点运算,也就是矩阵内元素与元素之间的运算。点运算要求参与运算的变量在结构上必须是相似的。3)关系和逻辑运算关系操作符说明大于小于=大于等于=小于等于==等于~=不等于逻辑操作符说明&与|或~非向量与矩阵的生成向量与矩阵运算向量的生成:在方括号内直接输入数据,就可以定义矩阵、向量。直接输入:a=[1,2,3,4]数据之间用空格或者逗号隔开,行与行之间用分号隔开;a=[1:4]==a=[1,2,3,4]b=[0:pi/3:pi]==b=[0,1.0472,2.0944,3.1416]c=[6:-2:0]==c=[6,4,2,0]例:向量与矩阵运算矩阵的生成直接输入:A=[1,2,3;4,5,6;7,8,9]由向量生成由函数生成通过编写m文件生成例:x=[1,2,3];y=[2,3,4];A=[x,y],B=[x;y]常见矩阵生成函数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时简写为randn(n)矩阵操作矩阵的旋转fliplr(A)左右旋转flipud(A)上下旋转rot90(A)逆时针旋转90度;rot90(A,k)逆时针旋转k×90度例:A=[123;456]B=fliplr(A)C=flipud(A)D=rot90(A),E=rot90(A,-1)矩阵基本运算矩阵的加减:对应分量进行运算要求参与加减运算的矩阵具有相同的维数例:A=[123;456];B=[321;654]C=A+B;D=A-B;矩阵的普通乘法要求参与运算的矩阵满足线性代数中矩阵相乘的原则例:A=[123;456];B=[21;34];C=A*B?矩阵基本运算矩阵的除法:/、\右除和左除若A可逆方阵,则A\B==A的逆左乘B==inv(A)*BB/A==A的逆右乘B==B*inv(A)X=A\B==A*X=BX=B/A==X*A=B通常,矩阵除法可以理解为当A和B行数相等时即可进行左除当A和B列数相等时即可进行右除例:解下列方程组11(4212324213324(2xyxyxyzxyzxyxyxy()定解方程组)()(不定方程组)()超定方程组)解:A=[11;1-1];B=[1;4];x=A\Bx=2.5000-1.5000求得唯一解。A=[121;3-21];B=[1;4];x=A\Bx=1.2500-0.12500仅求得一个特解。A=[12;3-2;1-1];B=[1;4;2];x=A\Bx=1.2838-0.1757求得一最小二乘近似解。Matlab绘图绘制图形MATLAB图形窗口二维绘图命令介绍三维绘图命令介绍MATLAB的图形窗口MATLAB的图形窗口专门用于图形显示.绘图命令将把图形输出到当前窗口,若在命令执行前,当前窗口已经存在图形,则原图形将被新图象覆盖掉。如果想保存原图形和输出新图形,必须创建新的图形窗口。创建图形窗口命令为:figurefigure:按创建的先后顺序命名图形窗口,如:figureNo.1,figureNo.2……figure(n):创建图形窗口为figureNo.n。如figure(100),创建图形窗口figureNo.100Plot(X,Y)——最基本的二维图形命令plot命令自动打开一个图形窗口Figure1原理:•用直线连接相邻两数据点来绘制图形•根据图形坐标大小自动缩扩坐标轴,将数据标尺及单位标注自动加到两个坐标轴上使用方法:(1)X,Y都是向量,且它们的长度相等;(2)如果X和Y都是维数相同矩阵,按列与列对应绘图例1.x=0:0.1:2*pi;y=cos(x);figure,plot(x,y)plot(y):以y的值为纵坐标,y的下标为横坐标。plot(x,y):以x为横坐标,以y为纵坐标plot命令中线型和颜色的使用格式:plot(x,y,s)—实线(默认值)——虚线—.点划线:点连线符号线型r红g绿b蓝k黑c青y黄w白m洋红符色符色其中s为类型说明参数,它是由线型、颜色或顶点标记组合成的字符串(用单引号括起)标记符方式标记符方式+十字号^向上三角形o小圆圈v向下三角形*星号向右三角形.小黑点向左三角形x叉号p五角星s小正方形h六角星d菱形绘散点图用顶点标记例在[0,2*pi]用红线画sin(x),用绿圈画cos(x).x=linspace(0,2*pi,30);y=sin(x);z=cos(x);plot(x,y,'r',x,z,’0g')解01234567-1-0.8-0.6-0.4-0.200.20.40.60.81Matlabliti1用给定数据绘制空间(三维)曲线空间曲线绘制命令plot3和二维绘图命令plot基本相同,其格式为:plot3(x,y,z)plot3(x1,y1,z1,s1,x2,y2,z2,s2)其中x1,y1,z1分别为第一维至第三维数据,是向量或矩阵,但必须同阶;s1、s2为可选参数,用于设置线型、颜色或数据点标记(用单引号括起来)。例10.螺旋线t=0:0.1:8*pi;plot3(sin(t),cos(t),t)title('绘制螺旋线')20/38在图形上加格栅、图例和标注定制坐标图形保持分割窗口缩放图形改变视角图形处理动画1、在图形上加格栅、图例和标注(1)GRIDON:加格栅在当前图上GRIDOFF:删除格栅处理图形(2)hh=xlabel(string):在当前图形的x轴上加图例stringhh=ylabel(string):在当前图形的y轴上加图例stringhh=title(string):在当前图形的顶端上加图例stringhh=zlabel(string):在当前图形的z轴上加图例string例在区间[0,2*pi]画sin(x)的图形,并加注图例“自变量X”、“函数Y”、“示意图”,并加格栅.解x=linspace(0,2*pi,30);y=sin(x);plot(x,y)xlabel('自变量X')ylabel('函数Y')title('示意图')gridonMatlab程序设计MATLAB控制结构顺序结构、选择结构、循环结构1、顺序结构顺序结构是由两个程序模块串接而成的,一个程序模块可以是一条语句、一段程序、一个函数等。顺序结构的两个程序模块按其在程序中的先后顺序依次执行。在用MATLAB编写程序时,只要将两个模块按顺序排列组织进程序就实现了顺序结构。2、选择结构执行MATLAB结构的基本过程是,首先根据规定条件进行逻辑判断,如果条件成立,执行后续程序模块,否则执行备选程序模块。MATLAB控制结构(续)①if-else-end语句格式:if逻辑表达式程序模块1;else程序模块2;end如果逻辑表达式为真,则执行程序模块1,然后跳出该选择结构,执行end的后续命令;如果逻辑表达式为假,则执行程序模块2,然后跳出该选择结构,执行end的后续命令。MATLAB控制
本文标题:Matlab基础知识
链接地址:https://www.777doc.com/doc-5067276 .html