Matlab中的数组操作.ppt

上传人:sh****n 文档编号:6378821 上传时间:2020-02-24 格式:PPT 页数:33 大小:401.05KB
返回 下载 相关 举报
Matlab中的数组操作.ppt_第1页
第1页 / 共33页
Matlab中的数组操作.ppt_第2页
第2页 / 共33页
Matlab中的数组操作.ppt_第3页
第3页 / 共33页
点击查看更多>>
资源描述
MATLAB基础应用 第一章Matlab中的数组操作 matlab中的运算和操作是以数组为对象的 数组又包括 数值数组 字符数组 元胞数组等 数值数组 1 n元数值向量 行向量与列向量 2 数值矩阵 3 由数值矩阵构成的元胞数组 几个标点符号的作用 逗号 用来将数组中的元素分开 可用空格代替 分号 用来将矩阵中的行分开 可用回车键代替 冒号 相当于文字中的省略号 中括号 界定数组的首与尾 一 数组的建立1 直接输入法matlab在创立数组时以逗号或空格表示分列 分号或回车表示分行 数组开头 结尾 行数组 如a 1 2 3 8 1 列数组 b 1 2 3 8 1 或a 矩阵 A 2 4 1 8 2 4 2 4 6 2 通过数组编辑器生成矩阵步骤 先建立空矩阵a 然后在工作空间 workspace 中点开a进入数组编辑器 输入元素 3 用函数创建数组 定步长生成法 x a t b t步长 省略是为1 定数线性采样法 x linspace a b n a与b是数组的第一个和最后一个元素 n是采样的总点数 x linspace 2 5 6 x 2 00002 60003 20003 80004 40005 0000 zeros m m阶全零方阵 zeros m n m n阶全零方阵 eye m m阶单位阵 ones m m阶全1方阵 ones m n m n阶全1方阵 rand m m阶均匀分布随机方阵 randn m m阶正态分布随机方阵 4 元胞数组的创建 元胞数组是MATLAB的一种特殊数据类型 可以将元胞数组看做一种无所不包的通用矩阵 或者叫做广义矩阵 组成元胞数组的元素可以是任何一种数据类型的量 每一个元素也可以具有不同的尺寸 每一个元素的内容也可以完全不同 元胞数组的元素叫做元胞 建立元胞数组 a matlab 20 ones 2 3 1 10 a matlab 20 2x3double 1x10double 二 数组的操作数组的编址 数组a建立后 a中各元素的编址方法如下 单下标编址 a 1 表示a的第1个元素 a n 表示a的第n个元素 对于二元数组按列优先原则进行单下标编址 双下标编址 a 2 3 表示矩阵a的第2行第3列元素 1 数组元素与子数组的提取提取数组a的第3个元素 y a 3 提取a的第3到7个元素 y a 3 7 a linspace 1 20 6 a 1 004 808 6012 4016 2020 00 提取a的第1 3 5个元素构成数组b b a 1 2 5 提取a的第2到5个元素 并反转次序构成数组b1 b1 a 5 1 2 按条件提取子数组 提取a的元素值大于10的元素构成数组b2b2 a find a 10 b1 16 200012 40008 60004 8000 b2 12 4016 2020 00 二维数组A的元素的提取 由于数组A有两种编址方法 matlab会根据接受的指令 先判断是哪一种编址方法 然后再进行元素的提取 如 A 1 2 3 4 5 0 1 2 3 4 1 0 1 2 3 2 1 0 1 2 1234501234 10123 2 1012 b1 A 5 b2 A 2 3 b3 A 2 b4 A 2 3 b5 A 2 A 1 b6 A 2 4 3 5 b1 2b2 2b3 01234 b4 0 1 b5 0123412345 b6 2402 b7 A 2 4 3 5 1 b7 24002 2 元胞数组元素的提取 和 有着本质的区别 用于表示元胞的内容 小括号表示指定的元胞 a matlab 20 ones 2 3 1 10 ones 4 5 eye 4 a matlab 20 2x3double 1x10double 4x5double 4x4double a matlab 20 2x3double 1x10double 4x5double 4x4double b 4x4double b a 3 2 b a 3 2 b 1000010000100001 a 2 3 cell 2 改变元胞数组元素的元胞 赋值 a matlab 20 2x3double 1x10double 2x2cell 4x5double 4x4double 2 数组拼接与数组中的元素值的改变在命令窗口实验 a 1 2 11a 1 0a 1 4 2 1 2 3 a 2 5 1 5 0 5 x 0 2 10 y 2 5 8 xx x y yy xx 2 5 y 2 3 a 1357911a 0357911a 2 1 2 3911a 21 5 2 30 511 xx 0246810 2 5 8yy 28 5 8 x 0246810 y 2 5 8 空数组的使用 建立空数组A A 空数组大小任意 可用空数组删除已有数组中的元素B 1 8B 1 2 5 B 24678A 2 3 4 5 6 1 2 3 4 5 0 1 2 3 4 1 0 1 2 3 删除矩阵A第3行 A 3 删除矩阵A第2列 A 2 3 常用的数组操作命令 1 确定数组大小命令A 2 5 1 2 7 0 3 1 2 4 0 0 5 8 8 求数组A行数与列数的最大值 n length A 提取数组A的行数与列数 m n size A 2 排序命令将一维数组x的元素排序 x 3 1 2 5 7 4 6 11 13 9 2 0 7 8 b sort x b k sort x b 1022345677891113k 2123111647513141089 3 改变数组形状的命令x 3 1 2 5 7 4 6 11 13 9 2 8 将一维数组x按条件转化为矩阵 B reshape x 3 4 4 数组的复制 c 1 2 5 c1 repmat c 4 1 c2 repmat c 1 4 c3 repmat c 3 2 c4 repmat c 3 B 3569 1711224138 c3 125125125125125125 5 稀疏矩阵与满矩阵的转化 稀疏矩阵生成命令 sparse a b c 数组a b c的大小必须相同数组a与b分别指定元素的行标与列标 数组c指定元素的值A sparse 2 4 18 3 12 20 5 3 8 创建稀疏矩阵A A的 2 3 4 12 18 20 元素分别为 5 3 8 其余元素为零 A为18 20阶矩阵 将稀疏矩阵x变回满矩阵 A full A A 2 3 5 4 12 3 18 20 8 6 sum A 矩阵A按列求和 返回一个行向量 sum A 2 矩阵A按行求和 返回一个列向量 max A 返回由矩阵各列的最大值构成的向量 max A B 返回A与B对应元素最大值构成的矩阵min A min A B 类似 创建18 20稀疏矩阵A 使A的 2 3 4 12 15 16 元素分别为 5 3 8 其余元素为零 A sparse 2 4 15 18 3 12 16 20 5 3 8 0 A 1 2 3 4 5 0 6 2 3 4 1 0 7 2 3 2 1 0 1 2 1234506234 107232 1012 B sum A 2 B 1515114 b1 max A b1 26745 返回由矩阵A各行的最大值构成的列向量 b2 max A b3 max A 2 b3 22345262342272322222 b2 5672 b diag A 提取方阵A的对角线元素构成列向量b A diag b 用一维数组b的元素生成对角方阵A 7 diag命令 A diag b k b为一维数组 k为整数将b元素作为偏离主对角线的第k条对角生成方阵A b 2 3 1 5 6 A diag b 1 B diag b 2 A 020000003000000 100000050000006000000 B 000000000000002000000030000000 1000000050000000600 例1 1输入n阶矩阵 n input 输入方阵阶数n a1 4 ones n 1 a2 2 ones n 1 1 a3 ones n 2 1 A1 diag a1 diag a2 1 diag a3 2 A2 diag a2 1 diag a3 2 A A1 A2 8 find命令 find A 找出A的不为0的元素的下标find A k 找出A的前k个不为0的元素的下标find A k last 找出A的后k个不为0的元素的下标find g A 其中g A 是数组A的逻辑表达式 返回数组A中满足条件g A 的元素下标 A 0 0 2 1 3 0 0 5 0 6 7 0 0 9 b1 find A 3 b2 find A 2 last b1 345b2 1114 B 0 1 0 2 3 0 4 0 0 c1 find B m n find B B 010230400 c1 2345 m 2312 n 1122 B 0 1 0 2 3 0 4 0 0 t find B 2 x y find B 2 m n find B 1 B 3 B 010230400 t 35 x 32 y 12 m 212 n 122 求连乘积c1 prod 4 6 c2 cumprod 4 6 求组合nchoosek a k D nchoosek 5 2 D 10 M 323137212717 N wxywxzwyzxyz b wxyz N nchoosek b 3 9 排列组合 c1 120c2 420120 a 3 2 1 7 M nchoosek a 2 求向量的全排列perms 2 1 8 三 数组的运算 1 数值运算数组的运算 也称点运算 是同阶数组对应分量的运算 包括点乘 点除和点乘方 对应的运算符号为 这些运算符的公共特点是在算符前加上一个英文句号 以便与对应的矩阵运算相区别 设A与B为同阶数的数组 k为常数 A B A B k AA B A B A n 2 关系运算与逻辑运算关系运算 等于 不等于 小于 大于 小于等于 逻辑运算 与 或 非 关系运算返回值为0或1如a 3 5 得a 0 例1 2已知数组A 2 5 1 2 7 0 3 1 2 4 0 0 5 8 8 要求将A中大于4的元素减去2 小于0的元素加上1 其余元素不变构成矩阵B A 2 5 1 2 7 0 3 1 2 4 0 0 5 8 8 A 251 2703 1 2400588 B 231 15030 1400366 B A 2 A 4 A 0 例1 3矩阵A 2 6 1 12 7 0 3 4 5 4 1 0 5 8 9 要求将A中能被3整除的元素保留其余元素不变构成矩阵B A 2 6 1 12 7 0 3 4 5 4 1 0 5 8 9 A 261 127034 5410589 B 060 1200300000009 B A mod A 3 0 3 数组的集合运算 a 1 12 b 2 10 setdiff a b a与b的差集 得 1 11 12 intersect a b a与b的交集 得 2 3 4 5 6 7 8 9 10 union a b a与b的并集 四 矩阵的运算 1 矩阵的基本运算数k与矩阵A的运算 k Ak A加法运算 A B A B A与B为同阶矩阵 乘法运算 A B A为m k矩阵 B为k n矩阵 右除运算 A B A乘B的逆 B为可逆矩阵 左除运算 A B A的逆乘B A为可逆矩阵 幂运算 若A为方阵 A n为矩阵A的n次幂 2 基本矩阵函数 转置A 特征值eig A 行列式det A 秩rank A 逆inv A 迹trace A 条件数cond A 练习题输入一个矩阵A 提取A的第2行第1列的元素 提取A的第1 3 4列所有元素 让A的第1列和第3列互换 删除A的第1列 将矩阵A的第2行元素扩大2倍再增加3后作为A的第3行 求出数组x中所有奇数的和与所有的偶数和x 8 3 5 1 6 10 7 2 9 11 4 5 1 12 11 4 生成5阶随机数矩阵 其中的随机数服从均值为20标准差为2的正态分布5 生成一个15 20阶的均匀分布随机矩阵A 并将A中大于0 5的元素换成0 56 生成一个20阶的方阵A A中 2 3 4 5 8 6 5 1 12 2 14 7 15 12 18 7 位置的均为3 其余元素为零 7 计算和式 8 查寻fliplr命令的用法 并建立20阶的方阵 9 已知矩阵 求 1 A的逆矩阵 2 解方程组Ax b 3 求A的特征值与特征向量
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


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


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

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


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