matlab基础知识教程ppt(全).ppt

上传人:xiao****1972 文档编号:6279594 上传时间:2020-02-21 格式:PPT 页数:197 大小:3.17MB
返回 下载 相关 举报
matlab基础知识教程ppt(全).ppt_第1页
第1页 / 共197页
matlab基础知识教程ppt(全).ppt_第2页
第2页 / 共197页
matlab基础知识教程ppt(全).ppt_第3页
第3页 / 共197页
点击查看更多>>
资源描述
MATLAB语言及其应用 ApplicationofMatlabLanguage 2020 2 21 ApplicationofMatlabLanguage 2 第一讲Matlab概述 前言Matlab软件概述Matlab的桌面环境及入门知识 2020 2 21 ApplicationofMatlabLanguage 3 功能强大数值运算优势符号运算优势 Maple 强大的2D 3D数据可视化功能许多具有算法自适应能力的功能函数 2020 2 21 ApplicationofMatlabLanguage 4 语言简单 内涵丰富语言及其书写形式非常接近于常规数学书写形式 其操作和功能函数指令就是常用的计算机和数学书上的一些简单英文单词表达的 如 help clear等 完备的帮助系统 易学易用 扩充能力 可开发能力较强MATLAB完全成了一个开放的系统用户可以开发自己的工具箱可以方便地与Fortran C等语言接口编程易 效率高Matlab以数组为基本计算单元具有大量的算法优化的功能函数 2020 2 21 ApplicationofMatlabLanguage 5 2MATLAB的桌面环境及入门知识 启动与退出MATLAB命令窗口及使用数值表示 变量 表达式命令历史窗口工作空间获取在线帮助 2020 2 21 ApplicationofMatlabLanguage 6 2 2命令窗口的使用 激活命令窗口 与闪烁的光标一起表明系统就绪 等待输入 命令窗口脱离MATLAB桌面 简单计算 例2 2 1 计算 1 在MATLAB命令窗口输入以下内容 12 2 7 4 3 2 2 按 Enter 键 指令执行 3 返回的计算结果 ans 2 2020 2 21 ApplicationofMatlabLanguage 7 2 2命令窗口 续 说明 在命令窗口 Enter 键提交命令执行 Matlab所用运算符 如 等 是各种计算程序中常见的 计算结果中的 ans 是英文 answer 的一种缩写 其含义就是 运算答案 ans是Matlab的一个预定义变量 2020 2 21 ApplicationofMatlabLanguage 8 2 2命令窗口 续 简单计算 续 例2 2 2 计算sin 45 sin 45 pi 180 Matalb中正弦函数sin就是常见的正弦函数 它的参数值是以 弧度 为单位的 pi也是Matalb的预定义变量 pi 3 14159 Matlab对字母大小写是敏感的 例2 2 3 计算的值 其中x 4 92 sqrt 2 exp 4 92 0 5 1 Matalb中开平方 sqrt x 是英文squareroot的缩写 Matalb中指数函数exp x 常见的表达方式 ans 0 7071 ans 21 2781 2020 2 21 ApplicationofMatlabLanguage 9 2 2命令窗口 续 clc 清除窗口显示内容的命令 例2 2 4 计算的值 y 2 sin 0 3 pi 1 sqrt 5 y 0 5000 例2 2 5 计算的值 y 2 cos 0 3 pi 1 sqrt 5 y 0 3633 命令行编辑 键调回已输入过命令 修改 2020 2 21 ApplicationofMatlabLanguage 10 2 2命令窗口 续 例2 2 5 计算半径为5 2m的圆的周长和面积 radius 5 2 圆的半径 area pi 5 2 2 circle len 2 pi 5 2 area 84 9487circle len 32 6726 以上两例 命令行中用到了等号 计算结果不再赋给 ans 而是赋给用户指定的变量y area circle len 无论是预定义变量还是用户自定义变量都被存储在系统的工作空间内 即系统定义的一个存储窗口变量的内存空间 Who whos命令用来显示工作空间的变量clear命令用来清除工作空间的变量 2020 2 21 ApplicationofMatlabLanguage 11 2 2命令窗口 续 数值显示格式设置缺省显示格式 简洁的短 shortg 格式窗口命令及语法格式 format显示格式关键字如 formatlong 15位数字显示常见通用命令命令含义clc清除命令窗口的显示内容clear清除Matlab工作空间中保存的变量who或whos显示Matlab工作空间中的变量信息dir显示当前工作目录的文件和子目录清单cd显示或设置当前工作目录type显示指定m文件的内容help或doc获取在线帮助quit或exit关闭 推出MATALB 2020 2 21 ApplicationofMatlabLanguage 12 2 3工作空间 查看工作空间内存变量 可以由who whos 命名新变量 修改变量名删除变量绘图保存变量数据装入数据 2020 2 21 ApplicationofMatlabLanguage 13 2 4历史窗口 历史窗口 首先记录每次启动时间并记录在命令窗口输入命令 此次运行期间 输入的所有命令被记录为一组 并以此次启动时间为标志 使用历史窗口 可以查看命令窗口输入过的命令或语句可以选择一条或多条命令执行拷贝 执行 创建M文件等 要清除历史记录 可以选择Edit菜单中的ClearCommandHistory命令 2020 2 21 ApplicationofMatlabLanguage 14 2 5当前目录窗口和搜索路径 当前目录窗口 指Matlab运行时的工作目录 只有在当前目录和搜索路径下的文件 函数才可以被运行和调用 如果没有特殊指明 数据文件也将存放在当前目录下 用户可以将自己的工作目录设置成当前目录 从而使得所有操作都在当前目录中进行 2020 2 21 ApplicationofMatlabLanguage 15 功能演示 1 求方程 的全部根 p 2 0 3 71 9 13 建立多项式系数向量x roots p 求根 x 3 49141 6863 2 6947i1 6863 2 6947i0 0594 0 4251i0 0594 0 4251i 2020 2 21 ApplicationofMatlabLanguage 16 功能演示 2 求解线性方程组 a 2 3 1 8 2 3 45 3 9 建立系数矩阵ab 2 4 23 建立列向量bx inv a b x 0 55310 2051 0 2784 2020 2 21 ApplicationofMatlabLanguage 17 符号计算 symsxyz 建立符号变量 x y z solve 2 x 3 y z 2 8 x 2 y 3 z 4 45 x 3 y 9 z 23 x 151 273y 8 39z 76 273 2020 2 21 ApplicationofMatlabLanguage 18 功能演示 3 求解定积分 求解I quad x log 1 x 0 1 ans 0 250或symsxnt x log 1 x 0 1 ans 1 4 2020 2 21 ApplicationofMatlabLanguage 19 功能演示 4 多项式曲线拟合 考虑如下x y一组实验数据 x 1 2 3 4 5 6 7 8 9 10 y 1 2 3 4 4 5 4 7 5 5 2 6 7 2 注 一次多项式拟合 p1 polyfit x y 1 三次多项式拟合 p3 polyfit x y 3 plot原始数据 一次拟合曲线和三次拟合曲线x2 1 0 1 10 y1 polyval p1 x2 y3 polyval p3 x2 plot x y x2 y1 x2 y3 2020 2 21 ApplicationofMatlabLanguage 20 拟合曲线图 由图可见 三次拟合结果较好 2020 2 21 ApplicationofMatlabLanguage 21 2 3数值表示 变量及表达式 数值的记述Matlab的数只采用习惯的十进制表示 可以带小数点和负号 其缺省的数据类型为双精度浮点型 double 例如 3 100 0011 3e101 256e 6变量命令规则变量名 函数名对字母的大小写是敏感的 如myVar与myvar表示两个不同的变量 变量名第一个字母必须是英文字母 变量名可以包含英文字母 下划线和数字 变量名不能包含空格 标点 变量名最多可包含63个字符 6 5及以后的版本 2020 2 21 ApplicationofMatlabLanguage 22 2 3数值表示 变量及表达式 续 Matlab预定义的变量 说明 每当MATLAB启动完成 这些变量就被产生 MATLAB中 被0除不会引起程序中断 给出报警的同时用inf或NaN给出结果 用户只能临时覆盖这些预定义变量的值 Clear或重启MATLAB可恢复其值 2020 2 21 ApplicationofMatlabLanguage 23 2 3数值表示 变量及表达式 续 运算符和表达式 说明 Matlab用 和 分别表示 左除 和 右除 对标量而言 两者没有区别 对矩阵产生不同影响 MATLAB表达式的书写规则与 手写方式 几乎完全相同 表达式按与常规相同的优先级自左至右执行运算 优先级 指数运算级别最高 乘除次之 加减最低 括号改变运算的次序 2020 2 21 ApplicationofMatlabLanguage 24 课堂总结 对MATALB整个软件产品进行了概述历史发展软件产品家族体系构成M语言的特点MATLAB的入门知识MATLAB桌面MATLAB数值的记述和数据显示格式变量及其命名规则运算符及表达式常用的MATLAB命令在线帮助的使用 第2章Matlab数据及其运算 Matlab数据类型非常丰富 除数值型 字符型等基本数据类型外 还有结构体 单元等更为复杂的数据类型 各种数据类型都以矩阵形式存在 矩阵是Matlab最基本的数据对象 并且矩阵的运算是定义在复数域上的 2020 2 21 ApplicationofMatlabLanguage 26 2 1数值表示 变量及表达式 数值的记述Matlab的数只采用习惯的十进制表示 可以带小数点和负号 其缺省的数据类型为双精度浮点型 double 例如 3 100 0011 3e101 256e 6变量命令规则变量名 函数名对字母的大小写是敏感的 如myVar与myvar表示两个不同的变量 变量名第一个字母必须是英文字母 变量名可以包含英文字母 下划线和数字 变量名不能包含空格 标点 变量名最多可包含63个字符 6 5及以后的版本 2020 2 21 ApplicationofMatlabLanguage 27 2 1数值表示 变量及表达式 续 Matlab预定义的变量 说明 每当MATLAB启动完成 这些变量就被产生 MATLAB中 被0除不会引起程序中断 给出报警的同时用inf或NaN给出结果 用户只能临时覆盖这些预定义变量的值 Clear或重启MATLAB可恢复其值 2020 2 21 ApplicationofMatlabLanguage 28 2 1数值表示 变量及表达式 续 运算符和表达式 说明 Matlab用 和 分别表示 左除 和 右除 对标量而言 两者没有区别 对矩阵产生不同影响 MATLAB表达式的书写规则与 手写方式 几乎完全相同 表达式按与常规相同的优先级自左至右执行运算 优先级 指数运算级别最高 乘除次之 加减最低 括号改变运算的次序 2020 2 21 ApplicationofMatlabLanguage 29 2 2Matlab矩阵 数组 的表示 数组的概念一维数组变量的创建二维数组变量的创建数组元素的标识与寻访数组运算多维数组 2020 2 21 ApplicationofMatlabLanguage 30 2 2 1 数组 array 的概念 数组定义 按行 row 和列 column 顺序排列的实数或复数的有序集 被称为数组 数组中的任何一个数都被称为这个数组的元素 由其所在的行和列标识 这个标识也称为数组元素的下标或索引 Matlab将标量视为1 1的数组 对m行 n列的2维数组a 计为m n的数组a 行标识 列标识均从1开始 行标识从上到下递增 列标识从左到右递增 a 3 4 34rowisfirst a 2020 2 21 ApplicationofMatlabLanguage 31 数组的分类一维数组 也称为向量 vector 行向量 rowvector 列向量 columnvector 二维数组 矩阵matrix 多维数组 有效矩阵 每行元素的个数必须相同 每列元素的个数也必须相同 2 2 1 数组 array 的概念 2020 2 21 ApplicationofMatlabLanguage 32 2 2 1 数组 array 的概念 续 行向量 列向量 a 2 1 3 a 1 2 2 b 3 3 c 2 2 2020 2 21 ApplicationofMatlabLanguage 33 2 2 2 创建一维数组变量 第一种方法 使用方括号 操作符 例2 1 创建数组 行向量 a 13pi3 5i a 13pi3 5 i ora 1 3 pi 3 5 i a 1 00003 00003 14163 0000 5 0000i所有的向量元素必须在操作符 之内 向量元素间用空格或英文的逗点 分开 第二种方法 使用冒号 操作符 例2 2 创建以1 10顺序排列整数为元素的行向量b b 1 10b 12345678910 2020 2 21 ApplicationofMatlabLanguage 34 2 2 2 创建一维数组变量 续 例2 3 键入并执行c 1 2 10和d 1 2 9 c 1 2 10c 13579 d 1 2 9d 13579利用冒号 操作符创建行向量的基本语法格式 x Start Increment EndStart表示新向量x的第一个元素 新向量x的最后一个元素不能大于End Increment可正可负 若负 则必须Start End 若正 则必须Start End 否则创建的为空向量 若Increment 1 则可简写为 x Start End 2020 2 21 ApplicationofMatlabLanguage 35 2 2 2 创建一维数组变量 续 第三种方法 利用函数linspace函数linspace的基本语法x linspace x1 x2 n 该函数生成一个由n个元素组成的行向量 x1为其第一个元素 x2为其最后一个元素 x1 x2之间元素的间隔 x2 x1 n 1 如果忽略参数n 则系统默认生成100个元素的行向量 例2 4 键入并执行x linspace 1 2 5 x 1 00001 25001 50001 75002 0000同学们可以在实验时察看x linspace 1 2 执行结果 2020 2 21 ApplicationofMatlabLanguage 36 2 2 2 创建一维数组变量 续 第四种方法 利用函数logspace通过实验认识该函数的功能 列向量的创建使用方括号 操作符 使用分号 分割行 例2 5 键入并执行x 1 2 3 X 123使用冒号操作符 例2 6 键入并执行x 1 3 表示矩阵的转置 2020 2 21 ApplicationofMatlabLanguage 37 2 2 2 创建一维数组变量 续 创建数组变量的一般方法创建变量的赋值语句的一般格式var expressionvar为变量名expression为MATLAB合法表达式可以是单独的常数值或数值数组 也可以由常数值 其他变量 部分或全部 数值数组和运算符 等 构成 例2 7 键入并执行a 016 b a67 c 6a7 d 6a7a 2020 2 21 ApplicationofMatlabLanguage 38 2 2 3 创建二维数组变量 第一种方法 使用方括号 操作符使用规则数组元素必须在 内键入 行与行之间须用分号 间隔 也可以在分行处用回车键间隔 行内元素用空格或逗号 间隔 例3 1 键入并执行a2 123 456 789 a2 123456789 例3 2 键入并执行a2 1 3 4 6 7 9 结果同上 2020 2 21 ApplicationofMatlabLanguage 39 2 2 3 创建二维数组变量 续 例3 3 由向量构成二维数组 a 123 b 234 c a b c1 ab 第二种方法 函数方法函数ones 生成全1矩阵 zeros 生成全0矩阵 reshape helpelmat 获得基本的矩阵生成和操作函数列表 例3 4 创建全1的3x3数组 ones 3 例3 5 创建全1的3x4数组 ones 3 4 2020 2 21 ApplicationofMatlabLanguage 40 2 2 3 创建二维数组变量 续 例3 5 reshape的使用演示 a 4 4a 4 3 2 101234 b reshape a 3 3 b 4 12 303 214数组元素的排列顺序 从上到下按列排列 先排第一列 然后第二列 要求数组的元素总数不变 2020 2 21 ApplicationofMatlabLanguage 41 4 数组元素的标识与寻访 数组元素的标识 全下标 index 标识经典数学教科书采用 全下标 标识法 每一维对应一个下标 如对于二维数组 用 行下标和列下标 标识数组的元素 a 2 3 就表示二维数组a的 第2行第3列 的元素 对于一维数组 用一个下标即可 b 2 表示一维数组b的第2个元素 无论b是行向量还是列向量 单下标 linearindex 标识所谓 单下标 标识就是用一个下标来表明元素在数组的位置 对于二维数组 单下标 编号 设想把二维数组的所有列 按先后顺序首尾相接排成 一维长列 然后自上往下对元素位置执行编号 两种 下标 标识的变换 sub2ind ind2sub 2020 2 21 ApplicationofMatlabLanguage 42 4 数组元素的标识与寻访 续 例4 1 单下标的使用 a zeros 2 5 a 4 5a 4 2024 3 1135注意数组的排列顺序 2020 2 21 ApplicationofMatlabLanguage 43 4 数组元素的标识与寻访 续 元素与子数组的寻访与赋值 例4 3 一维数组元素与子数组的寻访与赋值 a linspace 1 10 5 a 1 00003 25005 50007 750010 0000 a 3 寻访a的第3个元素ans 5 5000 a 125 寻访a的第1 2 5个元素组成的子数组ans 1 00003 250010 0000 2020 2 21 ApplicationofMatlabLanguage 44 4 数组元素的标识与寻访 续 a 3 0 修改数组a的第3元素值为0a 1 00003 250007 750010 0000 a 25 11 a 1 00001 000007 75001 0000可以修改指定数组元素的值一次可以修改多个数组元素的值要修改的数组元素的个数应与送入数组的元素个数相同 2020 2 21 ApplicationofMatlabLanguage 45 4 数组元素的标识与寻访 续 例4 3 二维数组元素与子数组的寻访与赋值 a 2 zeros 2 4 创建2x4的全0数组a 2 00000000 a 2 1 8a 2 13572468 a 2 258 单下标方式寻访多个元素ans 258 注意元素的排列顺序 2020 2 21 ApplicationofMatlabLanguage 46 4 数组元素的标识与寻访 续 a 2 258 102030 a 2 13207104630 a 2 23 ones 2 双下标方式寻访并修改a 2 1117101130二维数组可以 单下标 方式或 全下标 方式访问 赋值 单下标 方式赋值时 等号两边涉及的元素个数必须相等 全下标 方式赋值时 等号右边数组的大小必须等于原数组中涉及元素构成的子数组的大小 2020 2 21 ApplicationofMatlabLanguage 47 4 数组元素的标识与寻访 续 a 2 end ans 730 a 2 end 1 ans 11 a 2 end 1 3 ans 71301 a 2 end ans 101130 a 2 end 2 4 ans 1130 a 2 46 6 7a 2 1117106730 a 2 end 2 end 1 Whatistheresult 2020 2 21 ApplicationofMatlabLanguage 48 4 数组元素的标识与寻访 续 例4 4 size length函数 a ones 4 6 6 m size a len length a b 1 5 length b c b length c size函数返回变量的大小 即变量数组的行列数length函数返回变量数组的最大维数 Matlab语言及其应用 第3讲 2020 2 21 ApplicationofMatlabLanguage 50 5 多维数组 多维数组的定义在MATLAB的数据类型中 向量可视为一维数组 矩阵可视为二维数组 对于维数 Dimensions 超过2的数组均可视为 多维数组 MultidimesionalArrays 简称N DArrays 2020 2 21 ApplicationofMatlabLanguage 51 5 多维数组 续 三维数组 可对应至一个X Y Z三维立体坐标 如下图所示 Z 页 Y 列 X 行 2020 2 21 ApplicationofMatlabLanguage 52 5 多维数组 续 三维数组元素的寻址 可以 行 列 页 来确定 以维数为3 4 2的三维数组为例 其寻址方式如下图所示 数组A是三维数组 其中A 1 代表第一页的二维数组 A 2 代表第二页的二维数组 2020 2 21 ApplicationofMatlabLanguage 53 6 数组的算术运算 MATLAB数组支持线性代数中所有的矩阵运算 建立特有的数组运算符 如 等 MATLAB数组运算符列表运算运算符含义说明加 相应元素相加减 相应元素相减乘 矩阵乘法点乘 相应元素相乘幂 矩阵幂运算点幂 相应元素进行幂运算左除或右除 或 矩阵左除或右除左点除或右点除 或 A的元素被B的对应元素除 2020 2 21 ApplicationofMatlabLanguage 54 6 算术运算 续 例5 1 数组加减法 a zeros 2 3 a 1 6 b a 2 5b 3 50005 50007 50004 50006 50008 5000 c b ac 2 50002 50002 50002 50002 50002 5000 2020 2 21 ApplicationofMatlabLanguage 55 6 算术运算 续 例5 2 点幂 举例 a 1 6a 123456 b reshape a 2 3 b 135246 a a 2a 149162536 b b 2b 192541636 2020 2 21 ApplicationofMatlabLanguage 56 7 关系运算 Matlab提供了6种关系运算符 不等于 关系运算符的运算法则 1 当两个标量进行比较时 直接比较两数大小 若关系成立 结果为1 否则为0 2 当两个维数相等的矩阵进行比较时 其相应位置的元素按标量关系进行比较 并给出结果 形成一个维数与原来相同的0 1矩阵 3 当一个标量与一个矩阵比较时 该标量与矩阵的各元素进行比较 结果形成一个与矩阵维数相等的0 1矩阵 2020 2 21 ApplicationofMatlabLanguage 57 7 关系运算 续 例 建立5阶方阵A 判断其元素能否被3整除 A 24 35 13 22 63 23 39 47 80 80 90 41 80 29 10 45 57 85 62 21 37 19 31 88 76 A 2435132263233947808090418029105785622119318876P rem A 3 0 被3除 求余 P 1000101000100001100100000 2020 2 21 ApplicationofMatlabLanguage 58 8 逻辑运算 Matlab提供了3种逻辑运算符 与 或 非 逻辑运算符的运算法则 1 在逻辑运算中 确认非零元素为真 1 零元素为假 0 2 当两个维数相等的矩阵进行比较时 其相应位置的元素按标量关系进行比较 并给出结果 形成一个维数与原来相同的0 1矩阵 3 当一个标量与一个矩阵比较时 该标量与矩阵的各元素进行比较 结果形成一个与矩阵维数相等的0 1矩阵 4 算术运算优先级最高 逻辑运算优先级最低 2020 2 21 ApplicationofMatlabLanguage 59 例 在 0 3 区间 求的值 要求消去负半波 即 2 区间内的函数值置零 x 0 pi 100 3 pi y sin x y1 y 0 y 消去负半波 2020 2 21 ApplicationofMatlabLanguage 60 例 建立矩阵A 找出在 10 20 区间的元素的位置 A 4 15 45 10 6 56 0 17 45 0 find A 10 A 20 找到非零元素的位置 A 415 4510656017 450ans 367 2020 2 21 ApplicationofMatlabLanguage 61 7 数据分析与统计 最大值和最小值MATLAB提供的求数据序列的最大值和最小值的函数分别为max和min 两个函数的调用格式和操作过程类似 1 求向量的最大值和最小值求一个向量X的最大值的函数有两种调用格式 分别是 1 y max X 返回向量X的最大值存入y 如果X中包含复数元素 则按模取最大值 2 y I max X 返回向量X的最大值存入y 最大值的序号存入I 如果X中包含复数元素 则按模取最大值 求向量X的最小值的函数是min X 用法和max X 完全相同 2020 2 21 ApplicationofMatlabLanguage 62 例7 1 求向量的最大值 x 43 72 9 16 23 47 y max x 求向量x中的最大值y 72 y l max x 求向量x中的最大值及其该元素的位置y 72l 2 2020 2 21 ApplicationofMatlabLanguage 63 9 数据分析与统计 2 求矩阵的最大值和最小值求矩阵A的最大值的函数有3种调用格式 分别是 1 max A 返回一个行向量 向量的第i个元素是矩阵A的第i列上的最大值 2 Y U max A 返回行向量Y和U Y向量记录A的每列的最大值 U向量记录每列最大值的行号 3 max A dim dim取1或2 dim取1时 该函数和max A 完全相同 dim取2时 该函数返回一个列向量 其第i个元素是A矩阵的第i行上的最大值 求最小值的函数是min 其用法和max完全相同 2020 2 21 ApplicationofMatlabLanguage 64 例7 2 求矩阵的最大值 x 43 72 9 16 23 47 y max x 求矩阵x中每列的最大值y 167247 y l max x 求矩阵x中每列的最大值及其该元素的位置y 167247l 212 max x 1 max x 2 求矩阵中每行的最大值 2020 2 21 ApplicationofMatlabLanguage 65 9 数据分析与统计 求和与求积sum X 返回向量X各元素的和 prod X 返回向量X各元素的乘积 sum A 返回一个行向量 其第i个元素是A的第i列的元素和 prod A 返回一个行向量 其第i个元素是A的第i列的元素乘积 sum A dim 当dim为1时 该函数等同于sum A 当dim为2时 返回一个列向量 其第i个元素是A的第i行的各元素之和 prod A dim 当dim为1时 该函数等同于prod A 当dim为2时 返回一个列向量 其第i个元素是A的第i行的各元素乘积 2020 2 21 ApplicationofMatlabLanguage 66 9 数据分析与统计 平均值与中值求数据序列平均值的函数是mean 求数据序列中值的函数是median 两个函数的调用格式为 mean X 返回向量X的算术平均值 median X 返回向量X的中值 mean A 返回一个行向量 其第i个元素是A的第i列的算术平均值 median A 返回一个行向量 其第i个元素是A的第i列的中值 mean A dim 当dim为1时 该函数等同于mean A 当dim为2时 返回一个列向量 其第i个元素是A的第i行的算术平均值 median A dim 当dim为1时 该函数等同于median A 当dim为2时 返回一个列向量 其第i个元素是A的第i行的中值 Matlab语言及其应用 第4讲 2020 2 21 ApplicationofMatlabLanguage 68 4 数组元素的标识与寻访 续 例4 4 size length函数a ones 4 6 6m size a len length a b 1 5 length b c b length c size函数返回变量的大小 即变量数组的行列数length函数返回变量数组的最大维数 2020 2 21 ApplicationofMatlabLanguage 69 5 多维数组 续 三维数组 可对应至一个X Y Z三维立体坐标 如下图所示 Z 页 Y 列 X 行 2020 2 21 ApplicationofMatlabLanguage 70 5 多维数组 续 三维数组元素的寻址 可以 行 列 页 来确定 以维数为3 4 2的三维数组为例 其寻址方式如下图所示 数组A是三维数组 其中A 1 代表第一页的二维数组 A 2 代表第二页的二维数组 2020 2 21 ApplicationofMatlabLanguage 71 6 数组的算术运算 MATLAB数组支持线性代数中所有的矩阵运算 建立特有的数组运算符 如 等 MATLAB数组运算符列表运算运算符含义说明加 相应元素相加减 相应元素相减乘 矩阵乘法点乘 相应元素相乘幂 矩阵幂运算点幂 相应元素进行幂运算左除或右除 或 矩阵左除或右除左点除或右点除 或 A的元素被B的对应元素除 2020 2 21 ApplicationofMatlabLanguage 72 6 算术运算 续 例5 1 数组加减法a zeros 2 3 a 1 6 b a 2 5b 3 50005 50007 50004 50006 50008 5000c b ac 2 50002 50002 50002 50002 50002 5000 2020 2 21 ApplicationofMatlabLanguage 73 6 算术运算 续 例5 2 点幂 举例 a 1 6a 123456 b reshape a 2 3 b 135246 a a 2a 149162536 b b 2b 192541636 2020 2 21 ApplicationofMatlabLanguage 74 7 关系运算 Matlab提供了6种关系运算符 不等于 关系运算符的运算法则 1 当两个标量进行比较时 直接比较两数大小 若关系成立 结果为1 否则为0 2 当两个维数相等的矩阵进行比较时 其相应位置的元素按标量关系进行比较 并给出结果 形成一个维数与原来相同的0 1矩阵 3 当一个标量与一个矩阵比较时 该标量与矩阵的各元素进行比较 结果形成一个与矩阵维数相等的0 1矩阵 2020 2 21 ApplicationofMatlabLanguage 75 7 关系运算 续 例 建立5阶方阵A 判断其元素能否被3整除 A 24 35 13 22 63 23 39 47 80 80 90 41 80 29 10 45 57 85 62 21 37 19 31 88 76 A 2435132263233947808090418029105785622119318876P rem A 3 0 被3除 求余 P 1000101000100001100100000 2020 2 21 ApplicationofMatlabLanguage 76 8 逻辑运算 Matlab提供了3种逻辑运算符 与 或 非 逻辑运算符的运算法则 1 在逻辑运算中 确认非零元素为真 1 零元素为假 0 2 当两个维数相等的矩阵进行比较时 其相应位置的元素按标量关系进行比较 并给出结果 形成一个维数与原来相同的0 1矩阵 3 当一个标量与一个矩阵比较时 该标量与矩阵的各元素进行比较 结果形成一个与矩阵维数相等的0 1矩阵 4 算术运算优先级最高 逻辑运算优先级最低 2020 2 21 ApplicationofMatlabLanguage 77 例 在 0 3 区间 求的值 要求消去负半波 即 2 区间内的函数值置零 x 0 pi 100 3 pi y sin x y1 y 0 y 消去负半波 2020 2 21 ApplicationofMatlabLanguage 78 例 建立矩阵A 找出在 10 20 区间的元素的位置 A 4 15 45 10 6 56 0 17 45 0 find A 10 A 20 找到非零元素的位置 A 415 4510656017 450ans 367 2020 2 21 ApplicationofMatlabLanguage 79 7 数据分析与统计 最大值和最小值MATLAB提供的求数据序列的最大值和最小值的函数分别为max和min 两个函数的调用格式和操作过程类似 1 求向量的最大值和最小值求一个向量X的最大值的函数有两种调用格式 分别是 1 y max X 返回向量X的最大值存入y 如果X中包含复数元素 则按模取最大值 2 y I max X 返回向量X的最大值存入y 最大值的序号存入I 如果X中包含复数元素 则按模取最大值 求向量X的最小值的函数是min X 用法和max X 完全相同 2020 2 21 ApplicationofMatlabLanguage 80 例7 1 求向量的最大值 x 43 72 9 16 23 47 y max x 求向量x中的最大值y 72 y l max x 求向量x中的最大值及其该元素的位置y 72l 2 2020 2 21 ApplicationofMatlabLanguage 81 9 数据分析与统计 2 求矩阵的最大值和最小值求矩阵A的最大值的函数有3种调用格式 分别是 1 max A 返回一个行向量 向量的第i个元素是矩阵A的第i列上的最大值 2 Y U max A 返回行向量Y和U Y向量记录A的每列的最大值 U向量记录每列最大值的行号 3 max A dim dim取1或2 dim取1时 该函数和max A 完全相同 dim取2时 该函数返回一个列向量 其第i个元素是A矩阵的第i行上的最大值 求最小值的函数是min 其用法和max完全相同 2020 2 21 ApplicationofMatlabLanguage 82 例7 2 求矩阵的最大值 x 43 72 9 16 23 47 y max x 求矩阵x中每列的最大值y 167247 y l max x 求矩阵x中每列的最大值及其该元素的位置y 167247l 212 max x 1 max x 2 求矩阵中每行的最大值 2020 2 21 ApplicationofMatlabLanguage 83 9 数据分析与统计 求和与求积sum X 返回向量X各元素的和 prod X 返回向量X各元素的乘积 sum A 返回一个行向量 其第i个元素是A的第i列的元素和 prod A 返回一个行向量 其第i个元素是A的第i列的元素乘积 sum A dim 当dim为1时 该函数等同于sum A 当dim为2时 返回一个列向量 其第i个元素是A的第i行的各元素之和 prod A dim 当dim为1时 该函数等同于prod A 当dim为2时 返回一个列向量 其第i个元素是A的第i行的各元素乘积 2020 2 21 ApplicationofMatlabLanguage 84 9 数据分析与统计 平均值与中值求数据序列平均值的函数是mean 求数据序列中值的函数是median 两个函数的调用格式为 mean X 返回向量X的算术平均值 median X 返回向量X的中值 mean A 返回一个行向量 其第i个元素是A的第i列的算术平均值 median A 返回一个行向量 其第i个元素是A的第i列的中值 mean A dim 当dim为1时 该函数等同于mean A 当dim为2时 返回一个列向量 其第i个元素是A的第i行的算术平均值 median A dim 当dim为1时 该函数等同于median A 当dim为2时 返回一个列向量 其第i个元素是A的第i行的中值 数据和函数的可视化 第6讲 2020 2 21 ApplicationofMatlabLanguage 86 3 1二维曲线绘图的基本操作 plot指令的基本调用格式 1 plot x x为向量时 以该元素的下标为横坐标 元素值为纵坐标绘出曲线x为实数二维数组时 则按列绘制每列元素值相对其下标的曲线 曲线数等于x数组的列数 x为复数二维数组时 则按列分别以数组的实部和虚部为横 纵坐标绘制多条曲线 2 plot x y x y为同维数组时 绘制以x y元素为横纵坐标的曲线x为向量 y为二维数组 且其列数或行数等于x的元素数时 绘制多条不同颜色的曲线x为二维数组 y为向量时 情况与上相同 只是y仍为纵坐标 3 plot x1 y1 x2 y2 绘制以x1为横坐标 y1为纵坐标的曲线1 以x2为横坐标 y2为纵坐标的曲线2 等等 其中x为横坐标 y为纵坐标 绘制y f x 函数曲线 2020 2 21 ApplicationofMatlabLanguage 87 例3 1使用直角坐标系 在 0 2 区间内 绘制曲线x 0 pi 100 2 pi y 2 exp 0 5 x sin 2 pi x plot x y 2020 2 21 ApplicationofMatlabLanguage 88 例3 2使用参数方程绘制曲线 绘制曲线t pi pi 100 pi x t cos 3 t y t sin t 2 plot x y 2020 2 21 ApplicationofMatlabLanguage 89 例3 3绘制复杂曲线 用图形表示连续调制波形及其包络线 t 0 pi 100 pi 长度为101的时间采样列向量y1 sin t 1 1 包络线函数值 是 101x2 的矩阵y2 sin t sin 9 t 长度为101的调制波列向量t3 pi 0 9 9 y3 sin t3 sin 9 t3 plot t y1 r t y2 b t3 y3 bo axis 0 pi 1 1 控制轴的范围 2020 2 21 ApplicationofMatlabLanguage 90 多次叠绘 双纵坐标和多子图 多次叠绘多次调用plot命令在一幅图上绘制多条曲线 需要hold指令的配合 holdon保持当前坐标轴和图形 并可以接受下一次绘制 holdoff取消当前坐标轴和图形保持 这种状态下 调用plot绘制完全新的图形 不保留以前的坐标格式 曲线 2020 2 21 ApplicationofMatlabLanguage 91 例3 5重绘曲线 重绘波形及其包络线 t 0 pi 100 pi 长度为101的时间采样列向量y1 sin t 1 1 包络线函数值 是 101x2 的矩阵y2 sin t sin 9 t 长度为101的调制波列向量t3 pi 0 9 9 y3 sin t3 sin 9 t3 plot t y1 r holdonplot t y2 b plot t3 y3 bo axis 0 pi 1 1 控制轴的范围holdoff 2020 2 21 ApplicationofMatlabLanguage 92 例3 6利用hold绘制离散信号的波形 t 2 pi 0 20 20 y cos t exp 0 4 t stem t y g holdon stairs t y r holdoff 2020 2 21 ApplicationofMatlabLanguage 93 双纵坐标 plotyy指令 plotyy指令调用格式 plotyy x1 y1 x2 y2 x1 y1曲线y轴在左 x2 y2曲线y轴在右 例3 7 x 0 0 01 20 y1 200 exp 0 05 x sin x y2 0 8 exp 0 5 x sin 10 x plotyy x y1 x y2 2020 2 21 ApplicationofMatlabLanguage 94 多子图 MATLAB允许在同一图形窗口布置几幅独立的子图 具体指令 subplot m n k 使 mxn 幅子图中第k个子图成为当前图subplot postion left bottom width height 在指定的位置上开辟子图 并成为当前图说明 subplot m n k 的含义 图形窗口包含 mxn 个子图 k为要指定的当前子图的编号 其编号原则 左上方为第1子图 然后向右向下依次排序 该指令按缺省值分割子图区域 subplot postion left bottom width height 用于手工指定子图位置 指定位置的四元组采用归一化的标称单位 即认为整个图形窗口绘图区域的高 宽的取值范围都是 0 1 而左下角为 0 0 坐标 产生的子图彼此独立 所有的绘图指令均可以在子图中使用 2020 2 21 ApplicationofMatlabLanguage 95 例3 8演示subplot指令对图形窗的分割 t pi 0 1000 1000 y1 sin t y2 sin 10 t y12 sin t sin 10 t subplot 2 2 1 plot t y1 axis 0 pi 1 1 subplot 2 2 2 plot t y2 axis 0 pi 1 1 subplot position 0 2 0 05 0 6 0 45 plot t y12 b t y1 y1 r 2020 2 21 ApplicationofMatlabLanguage 96 绘制图形的辅助操作 曲线线形控制符曲线颜色控制符 2020 2 21 ApplicationofMatlabLanguage 97 曲线的色彩 线型和数据点形 曲线的线形控制符 颜色控制符 数据点形控制符可以组合使用其先后次序不影响绘图结果也可以单独使用 2020 2 21 ApplicationofMatlabLanguage 98 例3 9绘制图形的辅助操作 SpecifyLinepropertiest 0 15 2 pi 15 y sin t subplot 3 2 1 plot t y title Linsstyleisdefault subplot 3 2 2 plot t y o title Linsstyleiso subplot 3 2 3 plot t y k title Linsstyleisk subplot 3 2 4 plot t y k title Linsstyleisk subplot 3 2 5 plot t y m d title Linsstyleism d subplot 3 2 6 plot t y r p title Linsstyleisr p 2020 2 21 ApplicationofMatlabLanguage 99 2020 2 21 ApplicationofMatlabLanguage 100 坐标 刻度和分格线控制 2020 2 21 ApplicationofMatlabLanguage 101 例3 10坐标控制 绘制椭圆 长轴为3 25 短轴为1 15t 0 2 pi 99 2 pi x 1 15 cos t y 3 25 sin t y为长轴 x为短轴subplot 2 2 1 plot x y axisofftitle axisoff subplot 2 2 2 plot x y axisimage title axisimage subplot 2 2 3 plot x y axisequal title axisEqual subplot 2 2 4 plot x y axissquare title axisSquare 2020 2 21 ApplicationofMatlabLanguage 102 2020 2 21 ApplicationofMatlabLanguage 103 刻度 分格线和坐标框 分格线与grid指令gridon画出分格线gridoff不画分格线MATLAB的缺省设置是不画分格线 分格线的疏密取决于坐标刻度 改变坐标刻度 可改变分格线的疏密 坐标框boxon控制加边框线boxoff控制不加边框线刻度设置指令及格式 set gca xtick xs ytick ys xs ys可以使任何合法的实数向量 用于分别设置x y轴的刻度 2020 2 21 ApplicationofMatlabLanguage 104 例3 11绘制y 1 exp 0 3 t cos 0 7 t t 6 pi 0 100 100 y 1 exp 0 3 t cos 0 7 t tt t find abs y 1 0 05 ts max tt plot t y r gridon axis 0 6 pi 0 6 max y title y 1 exp alpha t cos omega t holdon plot ts 0 95 bo holdoff set gca xtick 2 pi 4 pi 6 pi ytick 0 95 1 1 05 max y gridon 2020 2 21 ApplicationofMatlabLanguage 105 数据和函数的可视化 第7讲 2020 2 21 ApplicationofMatlabLanguage 107 图形标识 图形标识包括 图名 title 坐标轴名 xlabel ylabel 图形文本注释 text 图例 legend 简捷使用格式title s s为字符串变量或常量xlabel s ylabel s legend s text x y s 指定坐标 x y 处加注文字 2020 2 21 ApplicationofMatlabLanguage 108 图形标识 续 精细指令形式字体样式设置 fontname arg arg fontsize arg string其中 String为要输出的字符串 其前面的均为属性控制 使用方法见下表 2020 2 21 ApplicationofMatlabLanguage 109 图形标识 续 2020 2 21 ApplicationofMatlabLanguage 110 例3 12在正弦曲线上标注特殊值 t 0 100 100 2 pi y sin t plot t y text 3 pi 4 sin 3 pi 4 fontsize 16 leftarrowsin t 707 text
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!