收藏 分销(赏)

Matlab入门教程.pdf

上传人:快乐****生活 文档编号:4769003 上传时间:2024-10-12 格式:PDF 页数:38 大小:568.85KB
下载 相关 举报
Matlab入门教程.pdf_第1页
第1页 / 共38页
Matlab入门教程.pdf_第2页
第2页 / 共38页
点击查看更多>>
资源描述
第第 1 章章 MATLAB 操作基础操作基础1.1 MATLAB 概述概述1.1.2 MATLAB 的主要功能的主要功能1数值计算数值计算MATLAB 以矩阵作为数据操作的基本单位,还提供了十分丰富的数值计算函数。以矩阵作为数据操作的基本单位,还提供了十分丰富的数值计算函数。2绘图功能绘图功能可以绘制二维、三维图形,还可以绘制特殊图形(与统计有关的图,例如:区可以绘制二维、三维图形,还可以绘制特殊图形(与统计有关的图,例如:区域图、直方图、饼图、柱状图等)域图、直方图、饼图、柱状图等)。3编程语言编程语言MATLAB 具有程序结构控制、函数调用、数据结构、输入输出、面向对象等程具有程序结构控制、函数调用、数据结构、输入输出、面向对象等程序语言特征,而且简单易学、编程效率高。序语言特征,而且简单易学、编程效率高。4MATLAB 工具箱工具箱MATLAB 包含两部分内容:基本部分和各种可选的工具箱。包含两部分内容:基本部分和各种可选的工具箱。MATLAB 工具箱分为两大类:功能性工具箱和学科性工具箱。工具箱分为两大类:功能性工具箱和学科性工具箱。1.1.3MATLAB 语言的特点语言的特点 语言简洁紧凑,使用方便灵活,易学易用。语言简洁紧凑,使用方便灵活,易学易用。例如:例如:A=1 2 3;4 5 6;7 8 9一条语句实现了对一条语句实现了对 3x3 矩阵的输入。矩阵的输入。语句功能强大,一条语句相当于其它语言的一个子程序,例如语句功能强大,一条语句相当于其它语言的一个子程序,例如 fft。语句简单,内涵丰富。同一个函数有不同的输入变量和输出变量,分别语句简单,内涵丰富。同一个函数有不同的输入变量和输出变量,分别代表不同的含义。代表不同的含义。Matlab 既具有结构化的控制语句(既具有结构化的控制语句(if、for、while)又支持面向对象的程)又支持面向对象的程序设计。序设计。方便的绘图功能。方便的绘图功能。包含功能强劲的工具箱。包含功能强劲的工具箱。易于扩展。易于扩展。1.1.4 初识初识 MATLAB例例 1-1 绘制正弦曲线和余弦曲线。绘制正弦曲线和余弦曲线。x=0:0.5:360*pi/180;plot(x,sin(x),x,cos(x);例例 1-2 求方程求方程 3x4+7x3+9x2-23=0 的的全部根。全部根。p=3,7,9,0,-23;%建立多项式建立多项式系数向量系数向量x=roots(p)%求根求根例例 1-3 求积分求积分quad(x.*log(1+x),0,1)例例 1-4 求解线性方程组。求解线性方程组。a=2,-3,1;8,3,2;45,1,-9;b=4;2;17;x=inv(a)*b1.2 MATLAB 的运行环境与安装的运行环境与安装1.2.1 MATLAB 的运行环境的运行环境硬件环境:硬件环境:(1)CPU(2)内存内存(3)硬盘硬盘(4)CD-ROM 驱动器和鼠标驱动器和鼠标软件环境:软件环境:(1)Windows 98/NT/2000 或或 Windows XP(2)其他软件根据需要选用其他软件根据需要选用1.2.2 MATLAB 的安装的安装 运行系统的安装程序运行系统的安装程序 setup.exe,可以按照安装提示依次操作。,可以按照安装提示依次操作。1.3 MATLAB 集成环境集成环境1.3.1 启动与退出启动与退出 MATLAB 集成环境集成环境1MATLAB 系统的启动系统的启动 与一般的与一般的 Windows 程序一样,启动程序一样,启动 MATLAB 系统有系统有 3 种常见方法:种常见方法:(1)使用使用 Windows“开始开始”菜单。菜单。(2)运行运行 MATLAB 系统启动程序系统启动程序 matlab.exe。(3)利用快捷方式。利用快捷方式。当当 MATLAB 安装完毕并首次启动时,展现在屏幕上的界面为安装完毕并首次启动时,展现在屏幕上的界面为 MATLAB 的默认界的默认界面,如上图所示。面,如上图所示。2MATLAB 系统的退出系统的退出要退出要退出 MATLAB 系统,也有系统,也有 3 种常见方法:种常见方法:(1)在在 MATLAB 主窗口主窗口 File 菜单中选择菜单中选择 Exit MATLAB 命令。命令。(2)在在 MATLAB 命令窗口输入命令窗口输入 Exit 或或 Quit 命令。命令。(3)单击单击 MATLAB 主窗口的主窗口的“关闭关闭”按钮按钮1.3.2 主窗口主窗口MATLAB 主窗口是主窗口是 MATLAB 的主要工作界面。主窗口除了嵌入一些子窗口外,的主要工作界面。主窗口除了嵌入一些子窗口外,还主要包括菜单栏和工具栏。还主要包括菜单栏和工具栏。1菜单栏菜单栏在在 MATLAB 6.5 主窗口的菜单栏,共包含主窗口的菜单栏,共包含 File、Edit、View、Web、Window 和和Help 6 个菜单项。个菜单项。(1)File 菜单项:菜单项:File 菜单项实现有关文件的操作。菜单项实现有关文件的操作。(2)Edit 菜单项:菜单项:Edit 菜单项用于命令窗口的编辑操作。菜单项用于命令窗口的编辑操作。(3)View 菜单项:菜单项:View 菜单项用于设置菜单项用于设置 MATLAB 集成环境的显示方式。集成环境的显示方式。(4)Web 菜单项:菜单项:Web 菜单项用于设置菜单项用于设置 MATLAB 的的 Web 操作。操作。(5)Window 菜单项:主窗口菜单栏上的菜单项:主窗口菜单栏上的 Window 菜单,只包含一个子菜单菜单,只包含一个子菜单 Close all,用于关闭所有打开的编辑器窗口,包括,用于关闭所有打开的编辑器窗口,包括 M-file、Figure、Model 和和 GUI 窗口。窗口。(6)Help 菜单项:菜单项:Help 菜单项用于提供帮助信息。菜单项用于提供帮助信息。1.3.3 命令窗口命令窗口命令窗口是命令窗口是 MATLAB 的主要交互窗口,用于输入命令并显示除图形以外的所有的主要交互窗口,用于输入命令并显示除图形以外的所有执行结果。执行结果。MATLAB 命令窗口中的命令窗口中的“”为命令提示符,表示为命令提示符,表示 MATLAB 正在处于准备状态。正在处于准备状态。在命令提示符后键入命令并按下回车键后,在命令提示符后键入命令并按下回车键后,MATLAB 就会解释执行所输入的命就会解释执行所输入的命令,并在命令后面给出计算结果。令,并在命令后面给出计算结果。一般来说,一个命令行输入一条命令,命令行以回车结束。但一个命令行也可一般来说,一个命令行输入一条命令,命令行以回车结束。但一个命令行也可以输入若干条命令,各命令之间以逗号分隔,若前一命令后带有分号,则逗号以输入若干条命令,各命令之间以逗号分隔,若前一命令后带有分号,则逗号可以省略。例如可以省略。例如xx=5,yy=3xx=5;yy=3多行命令(多行命令()-续行符续行符 如果命令语句超过一行或者太长希望分行输入,则可以使用多行命令继续如果命令语句超过一行或者太长希望分行输入,则可以使用多行命令继续输入。输入。S=1-12+13+4+9-4-18;3 个小黑点称为续行符,即把下面的物理行看作该行的续行。个小黑点称为续行符,即把下面的物理行看作该行的续行。1.3.4 工作空间窗口工作空间窗口 工作空间是工作空间是 MATLAB 用于存储各种变量和结果的内存空间。在该窗用于存储各种变量和结果的内存空间。在该窗口中显示工作空间中所有变量的名称、大小、字节数和变量类型说明,可对变口中显示工作空间中所有变量的名称、大小、字节数和变量类型说明,可对变量进行观察、编辑、保存和删除。量进行观察、编辑、保存和删除。1.3.5 当前目录窗口和搜索路径当前目录窗口和搜索路径1当前目录窗口当前目录窗口当前目录是指当前目录是指 MATLAB 运行文件时的工作目录,只有在当前目录或搜索路径下运行文件时的工作目录,只有在当前目录或搜索路径下的文件、函数可以被运行或调用。的文件、函数可以被运行或调用。在当前目录窗口中可以显示或改变当前目录,还可以显示当前目录下的文件在当前目录窗口中可以显示或改变当前目录,还可以显示当前目录下的文件并提供搜索功能。将用户目录设置成当前目录也可使用并提供搜索功能。将用户目录设置成当前目录也可使用 cd 命令。例如,将用户命令。例如,将用户目录目录 c:mydir 设置为当前目录,可在命令窗口输入命令:设置为当前目录,可在命令窗口输入命令:cd c:mydir2MATLAB 的搜索路径的搜索路径 在在 MATLAB 命令窗口输入一条命令后,命令窗口输入一条命令后,MATLAB 按照一定次序寻找相关的文按照一定次序寻找相关的文件。基本的搜索过程是:件。基本的搜索过程是:(1)检查该命令是不是一个变量。检查该命令是不是一个变量。(2)检查该命令是不是一个内部函数。检查该命令是不是一个内部函数。(3)检查该命令是否当前目录下的检查该命令是否当前目录下的 M 文件。文件。(4)检查该命令是否检查该命令是否 MATLAB 搜索路径中其他目录下的搜索路径中其他目录下的 M 文件。文件。1.3.6 命令历史记录窗口命令历史记录窗口 在默认设置下,历史记录窗口中会自动保留自安装起所有用过的命在默认设置下,历史记录窗口中会自动保留自安装起所有用过的命令的历史记录,并且还标明了使用时间,从而方便用户查询。而且,通过双击令的历史记录,并且还标明了使用时间,从而方便用户查询。而且,通过双击命令可进行历史命令的再运行。如果要清除这些历史记录,可以选择命令可进行历史命令的再运行。如果要清除这些历史记录,可以选择 Edit 菜单菜单中的中的 Clear Command History 命令。命令。1.3.7 启动平台窗口和启动平台窗口和 Start 按钮按钮 MATLAB 6.5 的启动平台窗口可以帮助用户方便地打开和调用的启动平台窗口可以帮助用户方便地打开和调用MATLAB 的各种程序、函数和帮助文件。的各种程序、函数和帮助文件。MATLAB 6.5 主窗口左下角还有一个主窗口左下角还有一个 Start 按钮,单击该按钮会弹出一按钮,单击该按钮会弹出一个菜单,选择其中的命令可以执行个菜单,选择其中的命令可以执行 MATLAB 产品的各种工具,并且可以查阅产品的各种工具,并且可以查阅MATLAB 包含的各种资源。包含的各种资源。1.4 MATLAB 帮助系统帮助系统1.4.1 帮助窗口帮助窗口进入帮助窗口可以通过以下进入帮助窗口可以通过以下 3 种方法:种方法:(1)单击单击 MATLAB 主窗口工具栏中的主窗口工具栏中的 Help 按钮。按钮。(2)在命令窗口中输入在命令窗口中输入 helpwin、helpdesk 或或 doc。(3)选择选择 Help 菜单中的菜单中的“MATLAB Help”选项。选项。1.4.2 帮助命令帮助命令 MATLAB 帮助命令包括帮助命令包括 help、lookfor 以及模糊查询。以及模糊查询。1help 命令命令(1)直接输入)直接输入 help 命令将会显示当前帮助系统中所包含的所有项目;命令将会显示当前帮助系统中所包含的所有项目;(2)help 加函数名来显示该函数的帮助说明。加函数名来显示该函数的帮助说明。2lookfor 命令命令help 命令只搜索出那些关键字完全匹配的结果,命令只搜索出那些关键字完全匹配的结果,lookfor 命令对搜索范围内的命令对搜索范围内的M 文件进行关键字搜索,条件比较宽松。文件进行关键字搜索,条件比较宽松。lookfor 命令只对命令只对 M 文件的第一行进行关键字搜索。若在文件的第一行进行关键字搜索。若在 lookfor 命令加上命令加上-all选项,则可对选项,则可对 M 文件进行全文搜索。文件进行全文搜索。3模糊查询模糊查询 MATLAB 6.0 以上的版本提供了一种类似模糊查询的命令查询方法,用户只以上的版本提供了一种类似模糊查询的命令查询方法,用户只需要输入命令的前几个字母,然后按需要输入命令的前几个字母,然后按 Tab 键,系统就会列出所有以这几个字母键,系统就会列出所有以这几个字母开头的命令。开头的命令。1.4.3 演示系统演示系统 在帮助窗口中选择演示系统在帮助窗口中选择演示系统(Demos)选项卡,然后在其中选择相应的演示模选项卡,然后在其中选择相应的演示模块,或者在命令窗口输入块,或者在命令窗口输入 Demos,或者选择主窗口,或者选择主窗口 Help 菜单中的菜单中的 Demos 子菜子菜单,打开演示系统。单,打开演示系统。第第 2 章章 Matlab 及其应用及其应用2.1、MATLAB 的基本矩阵运算的基本矩阵运算2.1.1 简单矩阵输入简单矩阵输入1、命令行简单键盘输入、命令行简单键盘输入用于很少数据输入用于很少数据输入矩阵的方向:矩阵的方向:,;NaN Inf 2、文件形式输入、文件形式输入文本文件:从文本文件中读入数据文本文件:从文本文件中读入数据 mat 文件:文件:matlab 自有的数据格式自有的数据格式 2.1.2 语句生成矩阵语句生成矩阵1、线性等间距格式矩阵、线性等间距格式矩阵(1)X=起始值:增加值:结束值起始值:增加值:结束值(2)linspace 命令命令a=linspace(1,10,5);(3)logspace 命令命令b=logspace(0,2,10)2、矩阵连接、矩阵连接c=a b;生成矩阵的函数生成矩阵的函数 zeros ones eye randn 2.1.3 矩阵运算矩阵运算1、矩阵的运算符、矩阵的运算符:加法:加法:減法:減法*:乘法;点乘:乘法;点乘:.*/:右除;右除:右除;右除:./:左除;左除:左除;左除:.:乘方:乘方 2、矩阵的转置等运算、矩阵的转置等运算 共轭转置;共轭转置;.转置转置 inv:矩阵求逆:矩阵求逆 det:求行列式值:求行列式值 eig:求特征值与特征向量:求特征值与特征向量 运算规则:从左到右;先乘除后加减;乘方运算符最高运算规则:从左到右;先乘除后加减;乘方运算符最高(1)两矩阵加减,前提是维数相同,进行加减运算时,对应的元素进行加减;)两矩阵加减,前提是维数相同,进行加减运算时,对应的元素进行加减;(2)矩阵与标量加减,用矩阵中的每个元素都与标量进行加减运算;)矩阵与标量加减,用矩阵中的每个元素都与标量进行加减运算;(3)两矩阵相乘,前提是前一矩阵的列等于后一矩阵的行,与数学约定一样;)两矩阵相乘,前提是前一矩阵的列等于后一矩阵的行,与数学约定一样;(4)矩阵与标量相乘,用矩阵中的每个元素都与标量进行相乘;)矩阵与标量相乘,用矩阵中的每个元素都与标量进行相乘;(5)矩阵中的元素对元素的相乘:)矩阵中的元素对元素的相乘:.*矩阵中的元素对元素的相除:矩阵中的元素对元素的相除:./.z=x.y x,y 均为向量:均为向量:z(i)=x(i)y(i)x 为向量为向量,y 为标量:为标量:z(i)=x(i)y x 为标量为标量,y 为向量:为向量:z(i)=xy(i)2.1.4 矩阵的超越函数矩阵的超越函数函数函数名名 含义含义 abs 绝对值或者复数绝对值或者复数模模 sqrt 平方根平方根 real 实部实部 imag 虚部虚部 conj 复数共轭复数共轭 round 4 舍舍 5 入到整数入到整数 fix 舍入到最接近舍入到最接近 0的整数的整数 floor 舍入到最接近舍入到最接近-的整数的整数 ceil 舍入到最接近舍入到最接近的的整数整数函数函数名名 含义含义 sign 符号函数符号函数 rem 留数留数 sin 正弦正弦 cos 余弦余弦 tan 正切正切 asin 反正弦反正弦 acos 反余弦反余弦 除法左除法對矩陣1/();():()*;aba ba bbaAxbxA bInv AbxA batan 反正切反正切 atan2 第四象限反正切第四象限反正切 函数函数名名 含义含义 sinh 双曲正弦双曲正弦 cosh 双曲余弦双曲余弦 tanh 双曲正切双曲正切 exp 自然指数自然指数 log 自然对数自然对数 log10 以以 10 为底的对数为底的对数 2.2 关系和逻辑运算关系和逻辑运算1、关系操作符关系操作符(1)MATLAB 常用的关系操作符有:常用的关系操作符有:(小于小于)、(大于大于)、=(大于或等于大于或等于)、=(等于等于)、=(不等于不等于)。(2)MATLAB 的关系操作符可以用来比较两个大小相同的数组,或者比较一个数的关系操作符可以用来比较两个大小相同的数组,或者比较一个数组和一个标量。在与标量比较时,结果和数组大小一样。组和一个标量。在与标量比较时,结果和数组大小一样。(3)如果满足指定的关系,返回如果满足指定的关系,返回 1,否则返回,否则返回 0。a=1:9;b=a4b=0 0 0 0 1 1 1 1 1c=a(a4)c=5 6 7 8 9 2、逻辑操作符、逻辑操作符(1)逻辑操作符定义了一种与或非的关系表达式。逻辑操作符定义了一种与或非的关系表达式。MATLAB 的逻辑操作符有的逻辑操作符有&(与与)、|(或或)、(非非)(2)所有逻辑运算符连接的两个操作数或者同维、同大小,或者其中一个为标量。所有逻辑运算符连接的两个操作数或者同维、同大小,或者其中一个为标量。(3)逻辑运算符都是对元素的操作,每个非零元素都当作逻辑运算符都是对元素的操作,每个非零元素都当作“1”处理,逻辑运算的结处理,逻辑运算的结果是由果是由 1 和和 0 构成的矩阵。构成的矩阵。例如:例如:c=(a4)c=1 1 1 1 0 0 0 0 0c=(a4)&(aB=1 2 3;4 5 6;7 8 9;B(2,:)=B=1 2 37 8 92、为了提取矩阵、为了提取矩阵 a 的第的第 n 行、第行、第 m 列的元素值,使用列的元素值,使用 a(n,m)可以得到。同样,可以得到。同样,将矩阵将矩阵 a 的第的第 n 行、第行、第 m 列的元素值赋为列的元素值赋为 r,使用,使用 a(n,m)=r 这样的命令。这样的命令。注意注意:在提取矩阵值时,行或列的值大于矩阵的大小,则出错;在给在提取矩阵值时,行或列的值大于矩阵的大小,则出错;在给矩阵赋值时,如果行或者列超出矩阵的大小,则矩阵赋值时,如果行或者列超出矩阵的大小,则 MATLAB 自动扩充矩阵的规模,自动扩充矩阵的规模,使得可以赋值,扩充部分以零填充。使得可以赋值,扩充部分以零填充。3、利用矩阵下标,、利用矩阵下标,MATLAB 还提供了子矩阵功能。同样是上面的还提供了子矩阵功能。同样是上面的 a(n,m),如果,如果n 和和 m 是向量,而不是标量,则将获得指定矩阵的子块是向量,而不是标量,则将获得指定矩阵的子块.4、同样,矩阵的子块还可以被赋值。如果在取子块时,、同样,矩阵的子块还可以被赋值。如果在取子块时,n 或或 m 是是“:”,则返回,则返回指定的所有行或列。指定的所有行或列。5、矩阵的序号编址:按列计数。、矩阵的序号编址:按列计数。2.3.2 矩阵大小矩阵大小1、在、在 MATLAB 命令行中,使用命令行中,使用 whos 命令可以查看到所有变量的大小。命令可以查看到所有变量的大小。2、为了获得矩阵或者向量的大小,、为了获得矩阵或者向量的大小,MATLAB 还提供了两个有用的函数还提供了两个有用的函数 size 和和length。3、size 按照下面的形式使用:按照下面的形式使用:m,n=size(a,x)。一般的,。一般的,(1)不用参量)不用参量 x 时:当时:当只有一个输出变量时,只有一个输出变量时,size 返回一个行向量,第一个数为行数,第二个数为列返回一个行向量,第一个数为行数,第二个数为列数;如果有两个输出变量,第一个返回量为行数,第二个返回数为列数。数;如果有两个输出变量,第一个返回量为行数,第二个返回数为列数。(2)当使用当使用 x 时:时:x=1 返回行数,返回行数,x=2 返回列数,这时只有一个返回值。返回列数,这时只有一个返回值。4、length 返回行数或者列数的最大值,即返回行数或者列数的最大值,即 length(a)=max(size(a)。2.3.3 矩阵操作函数矩阵操作函数MATLAB 提供了一组执行矩阵操作的函数,例如:提供了一组执行矩阵操作的函数,例如:flipud(a)使得矩阵上下翻转,使得矩阵上下翻转,fliplr(a)使得矩阵左右翻转使得矩阵左右翻转2.3.4 矩阵查找和排序矩阵查找和排序1、子矩阵的查找使用、子矩阵的查找使用 find 命令完成,它返回关系表达式为真的下标。例如:命令完成,它返回关系表达式为真的下标。例如:a=10:20;find(a15)ans=7 8 9 10 112、矩阵的排序使用、矩阵的排序使用 sort 函数,它将矩阵按照升序排列。函数,它将矩阵按照升序排列。2.4 时间和日期时间和日期 1、日历函数、日历函数:calendar2、时间函数、时间函数:clock3、查看、查看 CPU 时间时间:cputime 4、日期函数、日期函数:date5、秒表定时、秒表定时:tic toc2.5 退出和保存工作空间:退出和保存工作空间:1、save:工作空间中的所有变量保存在磁盘上名为:工作空间中的所有变量保存在磁盘上名为 matlab.mat 的文件中。的文件中。2、save 文件名文件名 变量名变量名将指定的变量保存在指定的文件中。将指定的变量保存在指定的文件中。如:如:save temp x y z把把 x y z 这这 3 个变量保存在文件个变量保存在文件 temp.mat 中。中。3、下次加载、下次加载 MATLAB 时,可以利用时,可以利用 load 命令将保存在文件中的变量恢复到工命令将保存在文件中的变量恢复到工作空间中,其格式为:作空间中,其格式为:(1)load 将保存在将保存在 matlab.mat 中的变量装入到中的变量装入到 matlab 空间中。空间中。(2)load 文件名文件名 变量名变量名从指定文件中将指定的变量装入到从指定文件中将指定的变量装入到 matlab 的工作空的工作空间中。如:间中。如:load temp x 从文件从文件 temp.mat 中只将变量中只将变量 x 装入到装入到 matlab 的工的工作空间中。作空间中。2.6 Matlab 的变量的变量1、基本运算、基本运算 变量变量 逗号、分号的意义逗号、分号的意义 行内编辑、注释、运算规则行内编辑、注释、运算规则2、变量要求、变量要求变量区分字母的大小写变量区分字母的大小写名字不能超过名字不能超过 31 个字符个字符变量必须以字母开头,之后可以是任意字母、数字或者下划线变量必须以字母开头,之后可以是任意字母、数字或者下划线变量中不能含有标点符号变量中不能含有标点符号2.6.1 特殊变量特殊变量2.6.2 复数复数不需要特殊的处理,可以直接进行。不需要特殊的处理,可以直接进行。复数可以表示为:复数可以表示为:a=10-9i 2.6.3 MATLAB 数据类型数据类型:双精度型、字符型、稀疏型、单元型、结构型、双精度型、字符型、稀疏型、单元型、结构型、8 位型位型最常使用的是双精度型和字符型;稀疏型用于稀疏矩阵;单元型和结构型用于最常使用的是双精度型和字符型;稀疏型用于稀疏矩阵;单元型和结构型用于编写大型软件;编写大型软件;8 位型(位型(6.0 以上版本:以上版本:16 位型、位型、32 位型)用于图象处理。位型)用于图象处理。1、双精度型、双精度型(double):在缺省情况下,当结果为整数,作为整数显示;当结果为实数,以小数后在缺省情况下,当结果为整数,作为整数显示;当结果为实数,以小数后 4位的精度近似显示。位的精度近似显示。如果结果中的有效数字超出了这一范围,以科学计数法显示结果。如果结果中的有效数字超出了这一范围,以科学计数法显示结果。2、字符型、字符型(char):a=sss;bbb a=sss bbb(1)字符数组的定义:字符数组就是字符串,字符串中的每一个字符在系统内)字符数组的定义:字符数组就是字符串,字符串中的每一个字符在系统内部都相应地表示一个数值。部都相应地表示一个数值。a=You are welcome!a=You are welcome!size(a)ans=1 16 相关函数相关函数A、函数、函数 disp 用来显示字符串:用来显示字符串:disp(Hello)Hello B、判断一个变量是否为字符型数组,可以用函数、判断一个变量是否为字符型数组,可以用函数 class 或或 ischar。x=class(a)y=ischar(a)x=chary=1(2)字符与数值的相互转换:)字符与数值的相互转换:double:将一个字符串转换为一个数值:将一个字符串转换为一个数值 char:将数值转换为字符串:将数值转换为字符串 s=Good morning!s1=double(s)s2=char(s1)s=Good morning!s1=71 111 111 100 32 109 111 114 110 105 110 103 33s2=Good morning!(3)字符串的比较)字符串的比较A、strcmp:判别两个字符串是否相等:判别两个字符串是否相等B、strncmp:判别两个字符串的前:判别两个字符串的前 n 个字符是否相等个字符是否相等s1=glisten;s2=glitter;a1=strcmp(s1,s2)a2=strncmp(s1,s2,3)a1=0a2=1 (4)二维字符数组:)二维字符数组:创建二维字符数组时,每行的长度要相等。如果字符串长度不等,可以用空创建二维字符数组时,每行的长度要相等。如果字符串长度不等,可以用空格充填较短的字符串。格充填较短的字符串。例如:例如:s=abc;defg s=abc defg 用用 char 函数创建二维字符数组比较方便。当字符串长度不等时,函数创建二维字符数组比较方便。当字符串长度不等时,char 函数函数可以自动地在较短的字符中加上一定数量的尾部空格,使其与最长字符串的长可以自动地在较短的字符中加上一定数量的尾部空格,使其与最长字符串的长度相等。度相等。例如:例如:y=char(abc,defg,abcde)z1=length(y)z2=size(y)y=abc defg abcde z1=5z2=3 5 3、稀疏型、稀疏型(sparse):含有大量含有大量 0 的矩阵,称为的矩阵,称为矩阵。只存储矩阵中的非矩阵。只存储矩阵中的非 0 元素元素speye(4)生成单位稀疏矩阵生成单位稀疏矩阵ans=(1,1)1 (2,2)1 (3,3)1 (4,4)14、单元型、单元型(cell):把不同类型的数据存储在一起的数组称为单元数组。单元数组把不同类型的数据存储在一起的数组称为单元数组。单元数组中的每个元素是其他任意一种数据类型,通常可以将相关的尺寸大小不同的数中的每个元素是其他任意一种数据类型,通常可以将相关的尺寸大小不同的数据组合在一起。据组合在一起。a=1,good,1 2 3 a=1 good 1x3 double(1)创建单元数组:)创建单元数组:cellc=cell(n):生成一个:生成一个 n*n 维的空数组维的空数组c=cell(m,n):生成一个:生成一个 m*n 维的空数组维的空数组c=cell(size(A):生成一个和所包含的数组:生成一个和所包含的数组 A 阶数完全相同的空数组阶数完全相同的空数组EX1:A=eye(2)c=cell(size(A)A=1 0 0 1c=EX2:给单元数组赋值给单元数组赋值D=cell(1,3)D1,1=Good;D1,2=1 2;4 5;D1,3=1+4i;D D=D=Good 2x2 double 1.0000+4.0000i EX3:利用直接输入的方法创建单元数组,单元数组的下标用圆括号括起来,右:利用直接输入的方法创建单元数组,单元数组的下标用圆括号括起来,右边是单元数组的内容,用花括号括起来。边是单元数组的内容,用花括号括起来。Aa(1,1)=GOOD;Aa(1,2)=200;Aa(2,1)=5-6i;Aa(3,2)=1 2;4 5 Aa=GOOD 200 5.0000-6.0000i 2x2 double (2)单元数组的显示)单元数组的显示A、直接显示、直接显示Aa Aa=GOOD 200 5.0000-6.0000i 2x2doubleB、利用函数显示、利用函数显示celldisp(Aa)celldisp(Aa,Bb)C、利用图形显示单元数组、利用图形显示单元数组 cellplot(Aa)cellplot(Aa,legend)GOOD2005-6i(4)单元数组的变形)单元数组的变形 E=reshape(X,1,6)cellplot(E)WelcomeE=Welcome 4x4 double 3x3 double(5)字符型单元数组:由于字符矩阵要求矩阵的每一行的长度相等,需要在字)字符型单元数组:由于字符矩阵要求矩阵的每一行的长度相等,需要在字符串的尾端加入空格,在读取的时候,又常常将末尾的空格去掉,很不方便。符串的尾端加入空格,在读取的时候,又常常将末尾的空格去掉,很不方便。由于单元数组允许不同的单元内有不同类型和长度的数据,问题就可以避免。由于单元数组允许不同的单元内有不同类型和长度的数据,问题就可以避免。cellstr:将标准的字符型数组转换为字符型单元数组。将标准的字符型数组转换为字符型单元数组。EX1:ne=aaa;bb;cellstr(ne)ans=aaa bb5、结构型、结构型(struct):把不同类型的数组存储在一起的数组称为结构数组。结构数把不同类型的数组存储在一起的数组称为结构数组。结构数组相当于数据库的记录。结构数组中不同类型的数组是通过不同的域名来区分组相当于数据库的记录。结构数组中不同类型的数组是通过不同的域名来区分的。的。在在 MATLAB 的结构数组中,每个元素都是由不同的数据类型所组成的,不同的的结构数组中,每个元素都是由不同的数据类型所组成的,不同的数据类型分别放在不同的数据区域里,称为结构数组的域。数据类型分别放在不同的数据区域里,称为结构数组的域。(1)建立结构数组)建立结构数组A、利用函数、利用函数 struct 建立结构数组建立结构数组调用格式:调用格式:s=struct(field 1,values 1,field 2,values 2,)例例 sxx=struct(name,zhao,Li,wang,age,20,21,29,address,changda)%注注意:意:所有的所有的 address 都赋相同的值都赋相同的值 sxx(1)sxx(2)B、利用赋值语句直接生成结构数组、利用赋值语句直接生成结构数组sss.name=zhou;sss.age=10;sss.address=changda;sss sss.name=zhao sss=name:zhao age:10 address:changda sss(3).address=chang an sss=1x3 struct array with fields:name age address 相关函数相关函数 A、getfield:获取结构数组中某个域的内容:获取结构数组中某个域的内容B、setfield:设置结构数组中某个域的内容:设置结构数组中某个域的内容C、rmfield:删除结构数组的域:删除结构数组的域D、isfield:判断某个变量域是否是一个结构数组的域:判断某个变量域是否是一个结构数组的域E、isstruct:判断某个变量域是否是一个结构数组:判断某个变量域是否是一个结构数组第第 3 章章 Matlab 编程基础编程基础3.1 Matlab 程序设计程序设计1、设置完整的路径;、设置完整的路径;(1)对于用户程序中使用的文件名和变量名,系统按照以下顺序搜索:对于用户程序中使用的文件名和变量名,系统按照以下顺序搜索:A、查找对象是否是工作空间的变量;、查找对象是否是工作空间的变量;B、查找对象是否是系统的内部函数;、查找对象是否是系统的内部函数;C、查找对象是否是在系统的当前目录下。、查找对象是否是在系统的当前目录下。(2)路径设置的方法:路径设置的方法:A、在命令窗口下使用、在命令窗口下使用 cd 命令;命令;B、在菜单栏下的、在菜单栏下的 Current directory 下。下。2、参数值要集中放在程序的开始部分,便于维护;、参数值要集中放在程序的开始部分,便于维护;3、每行程序后输入分号,则执行程序行不会显示在屏幕上;如果不输入分号,、每行程序后输入分号,则执行程序行不会显示在屏幕上;如果不输入分号,则执行程序行会显示在屏幕上;则执行程序行会显示在屏幕上;4、符号、符号“%”后的内容是注释行;后的内容是注释行;5、如果语句在一行中放不下,则可以在行末键入三个点(、如果语句在一行中放不下,则可以在行末键入三个点(),指示下一行为,指示下一行为续行;续行;6、遇到不明白的命令,多使用在线帮助命令或系统演示示例;、遇到不明白的命令,多使用在线帮助命令或系统演示示例;7、尽量使程序模块化,采用主程序调用子程序的方法,将所有子程序合并在一、尽量使程序模块化,采用主程序调用子程序的方法,将所有子程序合并在一起来执行全部的操作。起来执行全部的操作。MABLAB 程序的基本组成部分:程序的基本组成部分:%说明部分说明部分清除命令(可选)清除命令(可选)定义变量(局部变量和全局变量)定义变量(局部变量和全局变量)按照顺序行执行的命令语句按照顺序行执行的命令语句控制语句开始控制语句开始 控制语句体控制语句体 控制语句结束控制语句结束 其他命令(如绘图等)其他命令(如绘图等)3.1.2 Matlab 的工作方式有二种的工作方式有二种1.交互式的指令操作方式。即用户在命令窗口中输入命令并按下回车键后,交互式的指令操作方式。即用户在命令窗口中输入命令并按下回车键后,系统执行该指令并立即给出运算结果。系统执行该指令并立即给出运算结果。2.m 文件的编程方式。文件的编程方式。m 文件是由文件是由 matlab 语句构成的文件语句构成的文件,且文件名必须以且文件名必须以.m 为扩展名,如为扩展名,如 ex.m。用户可以用任何文件编辑器来对。用户可以用任何文件编辑器来对 M 文件进行编辑。文件进行编辑。MATLAB 语言编写的磁盘文件称为语言编写的磁盘文件称为 M 文件,扩展名为文件,扩展名为 m,格式为格式为*.m,M 文件文件可以互相调用,也可以调用它自己。可以互相调用,也可以调用它自己。(1)M 文件在功能上分为:文件在功能上分为:A、底稿文件、底稿文件对于简单的问题,在命令窗口的对于简单的问题,在命令窗口的 MATLAB 提示符下,输入提示符下,输入 MATLAB 的语句,这的语句,这样可以快速有效地得到结果。样可以快速有效地得到结果。当问题比较复杂时,需要执行一系列语句,在当问题比较复杂时,需要执行一系列语句,在 MATLAB 提示符下键入语句就变提示符下键入语句就变的很麻烦。对这个问题,的很麻烦。对这个问题,MATLAB 提供了一种逻辑解决方案,允许用户把提供了一种逻辑解决方案,允许用户把MATLAB 命令放在一个简单的文本文件中,这些文件称为底稿文件。命令放在一个简单的文本文件中,这些文件称为底稿文件。B.函数文件函数文件a.格式:格式:function f1,f2,=fun(x,y,z,)其中其中 x,y,z,是形式输入参数,是形式输入参数,f1,f2,为返回的形式输出参数值,为返回的形式输出参数值,fun 为形式函数为形式函数名,函数名一般就是这个函数文件的文件名。名,函数名一般就是这个函数文件的文件名。b.文件前面几行由文件前面几行由%开始的语句构成了开始的语句构成了 M 文件的帮助信息,当键入:文件的帮助信息,当键入:help 文件名文件名 可得
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服