




已阅读5页,还剩73页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实训一 向量 矩阵的运算 2 1矩阵元素的访问与赋值 访问矩阵的元素需要使用矩阵元素的索引使用矩阵元素的行列双下标形式A 使用全下标形式访问矩阵元素的方法简单 直接 同线性代数的矩阵元素的概念一一对应使用矩阵元素的单下标形式A 矩阵元素的单下标是矩阵元素在内存中存储的序列号 一般地 同一个矩阵的元素在连续的内存单元中 元素的排列以列元素优先 A 1 4 5 A 5 A end A 17 20 A 17 20 A 2 4 2 3 A 234 23 A 1 2 A 5 例A 矩阵元素的访问与赋值 续 矩阵元素的单下标与双下标之间的转换关系以m n的矩阵为例第i行第j列的元素双下标转换为单下标l j 1 m i例 A 1 2 A 5 m 4 n 5 i 1 j 2l j 1 m i 2 1 4 1 5MATLAB提供的两个函数sub2ind 根据双下标计算单下标ind2sub 根据单下标计算双下标 矩阵元素的访问与赋值 续 例 A 410162 82947 75715 03458 A 410162829477571503458 sub2ind size A 2 2 ans 6 i j ind2sub size A 7 i 3j 2 ind2sub size A 7 size A ans 45 矩阵元素的访问与赋值 续 ans 7 逻辑1 访问常用于寻找数组中所有大于某值的元素的问题例子 找出数组A 4 2024中所有绝对值大于3的元素 3 5135 A 4 2024 3 5135 生成数组A L abs A 3 产生与A同维的0 1逻辑值数组L 1000101001 islogical L 判断L是否逻辑值数组 X A L 把L中逻辑值1对应的A元素取出X 4 545 矩阵元素的访问与赋值 续 A L 逻辑1 访问 生成一维列数组 由与A同样大小的逻辑数组L中的 1 元素选出A的对应元素 按单下标次序排成长列组成 矩阵元素的赋值全元素赋值方式 A D 结果 保持A的行宽 列长不变条件 A D两个数组的总元素数相等 但行宽 列长不一定相同例 A zeros 2 4 产生元素全为0的矩阵A 00000000 D 1 8 D 12345678 A D A 13572468 矩阵元素的访问与赋值 续 D A D 00000000 矩阵元素的赋值 续 以单下标方式对A的部分元素重新赋值 A s Sa结果 保持A的行宽 列长不变条件 s单下标数组的长度必须与一维数组Sa的长度相等 但是s Sa不一定同是行数组或列数组例 A 1234 5678 A 12345678 s 235 s 235 A s ans 523 矩阵元素的访问与赋值 续 Sa 102030 Sa 102030 A s SaA 12030410678 Sa 102030 Sa 102030 A s SaA 12030410678 矩阵元素的赋值 续 以双下标方式对子数组A r c 进行赋值 A r c Sa结果 保持A的行宽 列长不变条件 Sa的行宽 列长必须与A r c 的行宽 列长相同例 A 1234 5678 A 12345678 Sa ones 2 Sa 1111 矩阵元素的访问与赋值 续 A 23 ans 2367 A 23 SaA 11145118 用于矩阵 数组 操作的常用函数 2 2矩阵 数组 操作函数 例 size函数使用示例 A 123 A 123 size A ans 13 矩阵 数组 操作函数 续 B 123 456 B 123456 size B ans 23 例 length函数使用示例 A 123 456 A 123456 length A ans 3 矩阵 数组 操作函数 续 B 123 456 789 427 B 123456789427 length B ans 4 例 ndims和numel函数使用示例 A 123 A 123 ndims A ans 2 numel A ans 3 矩阵 数组 操作函数 续 B 123 456 B 123456 ndims B ans 2 numel B ans 6 例 reshape函数使用示例 A 1 8A 12345678 B reshape A 2 4 B 13572468 C reshape A 3 3 Errorusing reshapeToRESHAPEthenumberofelementsmustnotchange 矩阵 数组 操作函数 续 不能改变矩阵包含元素的个数 将矩阵A改成2行4列 也可写成B reshape 1 8 2 4 例 对称交换函数使用示例B 13572468 fliplr B ans 75318642 flipud B ans 24681357 矩阵 数组 操作函数 续 flipdim函数的第二个参数必须是大于0的整数 参数为1时 效果和flipud函数一致参数为2时 效果和fliplr函数一致 flipdim B 1 ans 24681357 flipdim B 2 ans 75318642 例 repmat使用示例 A pascal 2 A 1112 repmat A 2 3 ans 111111121212111111121212 矩阵 数组 操作函数 续 repmat函数的基本语法为 repmat A M N 作用是将指定的矩阵A复制M N次 其中M对应的是行 N对应的是列 若M N 则可简写成repmat A M repmat A 2 ans 1111121211111212 创建复杂矩阵使用MATLAB提供的矩阵扩展方法完成相应矩阵的构造假设矩阵A为三阶方阵 B为二阶方阵 由A和B组合构成五阶方阵C AO O B 其中O为相应的零矩阵 矩阵 数组 操作函数 续 例 A reshape 1 9 3 3 B 12 34 O zeros length A length B O C AO O B 矩阵 数组 操作函数 续 例 A reshape 1 9 3 3 B 12 34 O zeros length A length B O 000000 C AO O B 矩阵 数组 操作函数 续 例 A reshape 1 9 3 3 B 12 34 O zeros length A length B O 000000 C AO O B C 1470025800369000001200034 矩阵 数组 操作函数 续 提问 A reshape 1 9 3 3 B 12 34 C 1200034000001470025800369 O zeros length length O 矩阵 数组 操作函数 续 C AO O B C 1470025800369000001200034 C O O 提问 A reshape 1 9 3 3 B 12 34 C 1200034000001470025800369 O zeros length B length A O 000000 矩阵 数组 操作函数 续 C AO O B C 1470025800369000001200034 C O O 提问 A reshape 1 9 3 3 B 12 34 C 1200034000001470025800369 O zeros length B length A O 000000 矩阵 数组 操作函数 续 C AO O B C 1470025800369000001200034 C BO O A 提问 A reshape 1 9 3 3 B 12 34 C 1200034000001470025800369 O zeros length B length A O 000000 矩阵 数组 操作函数 续 C BO O A O zeros length A length B O 000000 C 提问 A reshape 1 9 3 3 B 12 34 C 1200034000001470025800369 O zeros length B length A O 000000 矩阵 数组 操作函数 续 C BO O A O zeros length A length B O 000000 C BO OA 创建复杂矩阵利用不同的矩阵运算 通过矩阵合并运算符 将不同的矩阵组合在一起构成大矩阵 A 12 34 B A A 2 tril A triu A A 3 A 4 B 122434681012340436489121216 矩阵 数组 操作函数 续 常用的数据统计处理函数最大值和最小值求和与求积平均值和中值累加和与累乘积排序 2 3简单的数据分析 最大值和最小值 求向量的最大 小 值Y max X Y min X 返回向量X的最大 小 值存入Y 如果X中包含复数元素 则按模取最大 小 值 Y Z max X Y Z min X 返回向量X的最大 小 值存入Y 最大值的序号存入Z 如果X中包含复数元素 则按模取最大 小 值 对行向量和列向量的操作结果是一样的 最大值和最小值 X 43 72 9 16 23 47 X 43729162347 Y1 max X Y1 72 Y2 min X Y2 43 Y1 Z1 max X Y1 72Z1 2 Y2 Z2 min X Y2 43Z2 1 最大值和最小值 X 43 72 9 16 23 47 X 43729162347 Y1 max X Y1 72 Y2 min X Y2 43 Y1 Z1 max X Y1 72Z1 2 Y2 Z2 min X Y2 43Z2 1 最大值和最小值 求矩阵的最大 小 值Y max X Y min X 返回一个行向量Y 其第i个元素是矩阵X的第i列上的最大 小 值 Y Z max X Y Z min X 返回行向量Y和Z 行向量Y记录X的每列的最大 小 值 行向量Z记录每列最大 小 值的行号 Y max X dim Y min X dim dim取1时 该函数和max X 或min X 完全相同dim取2时 该函数返回一个列向量Y 其第i个元素是矩阵X的第i行上的最大 小 值 最大值和最小值 X 1842 9625 3671 X 184296253671 Y1 max X Y1 9875 Y2 min X Y2 1621 Y1 Z1 max X Y1 9875Z1 2132 Y2 Z2 min X Y2 1621Z2 1223 最大值和最小值 X 1842 9625 3671 X 184296253671 Y3 max X 1 Y3 9875 Y4 min X 1 Y4 1621 Y5 max X 2 Y5 897 Y6 min X 2 Y6 121 最大值和最小值 X 1842 9625 3671 X 184296253671 Y3 Z3 max X 1 Y3 9875Z3 2132 Y4 Z4 min X 1 Y4 1621Z4 1223 Y5 Z5 max X 2 Y5 897Z5 213 Y6 Z6 min X 2 Y6 121Z6 134 最大值和最小值 两个向量或矩阵对应元素的比较U max X Y U min X Y X Y是两个同型的向量或矩阵 结果U是与X Y同型的向量或矩阵 U的每个元素等于X Y对应元素的较大 小 者 U max X n U min X n n是一个标量 结果U是与X同型的向量或矩阵 U的每个元素等于X对应元素和n中的较大 小 者 最大值和最小值 求两个2x3的矩阵X Y所有同一位置上的较大 小 元素构成的新矩阵U X 456 148 X 456148 Y 175 457 Y 175457 U1 max X Y U1 476458 U2 min X Y U2 155147 最大值和最小值 X 456 148 X 456148 n 4 5n 4 5000 U1 max X n U1 4 50005 00006 00004 50004 50008 0000 U2 min X n U2 4 00004 50004 50001 00004 00004 5000 求和与求积 数据序列求和与求积的函数是sum和prod设X是一个向量 A是一个矩阵sum X 返回向量各元素的和prod 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行的各元素乘积 求和与求积 X 1234 5678 9101112 X 123456789101112 S sum X S 15182124 P prod X P 45120231384 S2 sum X 2 S2 102642 P2 prod X 2 P2 24168011880 S1 sum X 1 S1 15182124 P1 prod X 1 P1 45120231384 平均值和中值 数据序列平均值是指算术平均值 其函数为mean 中值是指在数据序列中其值的大小恰好处在中间的元素 其函数为median 若数据序列为奇数个 则中值的大小恰好处于数据序列各个值的中间 如果为偶数个 则中值等于中间的两项的平均值 设X是一个向量 A是一个矩阵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行的中值 平均值和中值 X 9 25712 X 9 25712 mean X ans 6 2000 median X ans 7 Y 9 256712 Y 9 256712 mean Y ans 6 1667 median Y ans 6 5000 累加和与累乘积 累加和是指从数据序列的第一个元素开始直到当前元素进行累加 作为结果序列的当前元素值 其函数为cumsum 累乘积是指从数据序列的第一个元素开始直到当前元素进行累乘 作为结果序列的当前元素值 其函数为cumprod 设X是一个向量 A是一个矩阵cumsum X 返回向量X的累加和向量cumprod X 返回向量X的累乘积向量cumsum A 返回一个矩阵 其第i列是A的第i列的累加和向量cumprod A 返回一个矩阵 其第i列是A的第i列的累乘积向量cumsum A dim 当dim为1时 该函数等同于cumsum A 当dim为2时 返回一个矩阵 其第i行是A的第i行的累加和向量cumprod A dim 当dim为1时 该函数等同于cumprod A 当dim为2时 返回一个矩阵 其第i行是A的第i行的累乘积向量 累加和与累乘积 X 9 25712 X 9 25712 cumsum X ans 97121931 cumprod X ans 9 18 90 630 7560 累加和与累乘积 cumsum A ans 123579 cumprod A ans 12341018 cumsum A 2 ans 1364915 cumprod A 2 ans 126420120 A 123 456 A 123456 排序 在MATLAB中进行排序的函数是sort设X是一个向量 A是一个矩阵sort X 返回一个对X中的元素按升序排列的新向量sort A 返回一个对A中的每列元素按升序排列的新矩阵 Y Z sort X Y是升序排列后的矩阵 而Z记录了Y中的元素在A中的位置 单下标的形式 Y Z sort A dim 当dim为1时 则按列升序排 当dim为2时 则按行升序排 Y是排序后的矩阵 而Z记录了Y中的元素在A中的位置 单下标的形式 排序 在MATLAB中进行排序的函数是sort设X是一个向量 A是一个矩阵sort X descend 返回一个对X中的元素按降序排列的新向量sort A descend 返回一个对A中的每列元素按降序排列的新向量 Y Z sort X descend Y是降序排列后的矩阵 而Z记录了Y中的元素在对应列中行的位置 Y Z sort A dim descend 当dim为1时 则按列降序排 当dim为2时 则按行降序排 Y是排序后的矩阵 而Z记录了Y中的元素在行或列中的位置 ascend 排序 X 34527396 X 34527396 Y Z sort X Y 23345679Z 41623857 Y Z sort X descend Y 97654332Z 75832164 排序 A 1 85 4126 137 13 A 1 854126137 13 sort A ans 1 8 1347513126 sort A descend ans 131264751 8 13 排序 Y Z sort A 2 descend Y 51 81264137 13Z 312231123 Y Z sort A 2 Y 8154612 13713Z 213132321 A 1 85 4126 137 13 A 1 854126137 13 在MATLAB中进行排序的函数还有sortrows设A是一个矩阵B sortrows A 默认依据第一列的数值按升序移动每一行 如果第一列的数值有相同的 依次往右比较 B sortrows A column 从某一列开始比较数值并按升序 column为正数 排序 可以从某一列开始以降序 column为正数 排列 B index sortrows A index为行号索引 X 10452 7396 X 104527396 sortrows X ans 739610452 sortrows X 3 ans 104527396 sortrows X 3 ans 739610452 B index sortrows X B 739610452index 21 排序 在MATLAB中进行降序排序设X是一个向量 A是一个矩阵 sort X 返回一个对X中的元素按降序排列的新向量 sort A 返回一个对A中的每列元素按降序排列的新向量 排序 X 34527396 X 34527396 sort X ans 97654332 排序 A 1 85 4126 137 13 A 1 854126137 13 sort A ans 131264751 8 13 sort A 2 ans 51 81264137 13 函数的主要类别三角函数指数运算函数复数运算函数圆整和求余函数函数在处理参数时 是按照数组运算的规则进行的 2 4基本数学函数 三角函数 基本数学函数 续 指数运算函数 基本数学函数 续 复数运算函数 基本数学函数 续 圆整和求余函数 基本数学函数 续 例 圆整和求余函数 fix 1 9 ans 1 floor 1 9 ans 2 基本数学函数 续 round 1 9 ans 2 ceil 1 9 ans 1 例 圆整和求余函数 mod 9 4 ans 3 基本数学函数 续 mod x y 当y 0时 ans x n y n floor x y 当y 0时 ans x mod 9 0 ans 9 例 圆整和求余函数 rem 9 4 ans 1 基本数学函数 续 rem x y 当y 0时 ans x n y n fix x y 当y 0时 ans NaN rem 9 0 ans NaN 例 圆整和求余函数 sign 9 ans 1 sign 0 ans 0 sign 9 ans 1 基本数学函数 续 sign 若 是正数 则ans为1若 是零 则ans为0若 是负数 则ans为 1 2 5多维数组 多维数组 用全下标表示元素时 下标超过了两个的数组第一维 行 Row 第二维 列 Column 第三维 页 Page 第四维 箱 Box 三维数组的每一页上的数组必须具有同样的行数和列数介绍的内容创建多维数组 创建多维数组 使用直接赋值的方法创建多维数组使用MATLAB函数创建多维数组 1 使用直接赋值的方法创建多维数组 例 A pascal 4 A 1111123413610141020 A 2 eye 4 A 1 1111123413610141020A 2 1000010000100001 A 3 magic 5 Subscriptedassignmentdimensionmismatch 使用直接赋值的方法创建多维数组 续 例 B 3 3 3 1B 1 000000000B 2 000000000B 3 000000001 使用直接赋值的方法创建多维数组 续 例 A 2 1 3 5 使用直接赋值的方法创建多维数组 续 例 A 2 1 3 5A 1 00A 2 00A 3 05 2 使用函数创建多维数组 例 rand 3 3 3 ans 1 0 95010 48600 45650 23110 89130 01850 60680 76210 8214ans 2 0 44470 92180 40570 615
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年专业笔试题型分类及答案
- 2025年农业绿色发展政策农业面源污染治理技术实践报告
- 工业互联网平台边缘计算硬件架构在能源互联网中的应用与优化报告
- 2025年文化遗产数字化保护与数字文化遗产保护技术专利布局策略报告
- 树林承包协议书
- 校企种植协议书
- 校园合作协议书
- 校地扶贫协议书
- 样品折扣协议书
- 核桃种植协议书
- 2024年和田地区高校毕业生“三支一扶”计划真题
- 创维光伏培训课件
- GB/T 45451.1-2025包装塑料桶第1部分:公称容量为113.6 L至220 L的可拆盖(开口)桶
- 动作经济原则手边化POU改善
- 销售管培生培养方案
- GB/T 1972-2005碟形弹簧
- 2023年大学英语四级考试高频词汇1500打印版
- 东北地区玉米施肥现状、问题与对策
- 检测机构员工手册模板
- 图文全文解读2022年发改委发布《电力可靠性管理办法(暂行)》PPT
- 科室医疗质量管理及质控培训
评论
0/150
提交评论