Matlab矩阵及其操作.ppt

上传人:sh****n 文档编号:6379217 上传时间:2020-02-24 格式:PPT 页数:113 大小:1.90MB
返回 下载 相关 举报
Matlab矩阵及其操作.ppt_第1页
第1页 / 共113页
Matlab矩阵及其操作.ppt_第2页
第2页 / 共113页
Matlab矩阵及其操作.ppt_第3页
第3页 / 共113页
点击查看更多>>
资源描述
魔方矩阵 D rer smatrix 第2章矩阵及其操作 第2章矩阵及其操作 2 1数据类型2 2变量及其操作2 3矩阵基础2 4矩阵运算2 5矩阵的基本操作2 6矩阵分析2 7矩阵分解2 8矩阵相似变换2 9常用函数 2 1数据类型 MATLAB有15种基本数据类型 每种基本数据类型均以数组 矩阵的形式出现 1 数值类型2 逻辑类型3 字符和字符串类型4 结构体类型 1 数值类型 1 整数 2 浮点数 3 复数 4 Inf 5 NaN 1 整数类型 MATLAB支持1 2 4和8字节的有符号整数和无符号整数 2 浮点数类型 MATLAB有单精度和双精度两种浮点数 3 复数类型 复数包含实部和虚部 用i或者j表示虚部 生成复数有两种方法 z 3 4iz 3 0000 4 0000i complex 3 4 ans 3 0000 4 0000i helpcomplex 4 Inf和NaN Inf和 Inf分别表示正无穷大和负无穷 NaN NotaNumber 表示一个既不是实数也不是复数的值 2 逻辑类型 在MATLAB中逻辑类型包含true和false 分别由1和0表示 函数logical将任何非零的数值转换为true 即1 将数值0转换为false 即0 3 字符和字符串类型 在MATLAB中 数据类型 char 表示一个字符 一个char类型的1 n数组称为字符串string 4 结构体类型 结构体类型是一种由若干属性 field 组成的MATLAB数组 其中的每个属性可以是任意数据类型 结构体数组的创建及操作将在第4章里面进行详细的介绍 2 2变量及其操作 变量变量名以字母开头 后接字母 数字或下划线的字符序列 变量名区分字母的大小写 赋值变量 表达式 num students 25num students 25 x 1 2i y 3 sqrt 17 z cos abs x y sin 78 pi 180 x abs y x 1 0000 2 0000iy 1 1231z 0 3488 0 3286i 特殊变量 预定义变量 在MATLAB工作空间中 还驻留几个由系统本身定义的变量 预定义变量有特定的含义 在使用时 应尽量避免对这些变量重新赋值 内存变量的管理 利用MATLAB工作空间窗口可实现对内存变量的查看 修改 保存 删除 导出及画图等操作 利用clear命令可删除工作空间中的变量 利用who和whos命令可分别用于显示在工作空间中已经驻留的变量名清单 who命令只显示出驻留变量的名称whos在给出变量名的同时 还给出它们的大小 所占字节数及数据类型等详细信息 内存变量的保存与载入 mat文件利用mat文件可以把当前工作空间中的一些有用变量长久地保留下来 扩展名是 mat mat文件的生成和装入分别由save和load命令来完成 save文件名变量名表load文件名变量名表 savedataxyz clear loaddataz 对load和save命令的一点说明 save文件名变量名表load文件名变量名表文件名可以带路径 但不需带扩展名 mat 命令隐含一定对 mat文件进行操作 变量名表中的变量个数不限 只要内存或文件中存在即可 变量名之间以空格分隔 当变量名表省略时 保存或装入全部变量 更多内容 请 helpsave helpload 在MATLAB中 所有的数据均以二维 三维或高维矩阵的形式存储 每个矩阵的单元可以是数值类型 逻辑类型 字符类型或者其他任何数据类型 对于标量 可以用1 1矩阵来表示 对于一组n个数据 可以用1 n矩阵来表示 对于多维数组 可以用多维矩阵来表示 2 3矩阵基础 1 矩阵的索引 A i j 第i行 第j列的元素A i 第i行的全部元素A j 第j列全部元素A i i m 第i i m行的全部元素A k k m 第k k m列的全部元素A i i m k k m 第i i m行内 并在第k k m列中的所有元素还可利用一般向量和end运算符来表示矩阵下标 end表示某一维的末尾元素下标 2 3矩阵基础 2 矩阵的创建 在命令窗口直接输入矩阵的各个元素 A 163213 510118 96712 415141 A 16321351011896712415141通过load命令载入数据文件 loadmymatrix txt mymatrixmymatrix 16321351011896712415141Matlab内在函数 特殊矩阵 利用m文件创建 特殊矩阵生成函数 特殊矩阵生成函数 特殊矩阵生成函数 B magic 4 B 16231351110897612414151 A B 1324 A 16321351011896712415141 A 16321351011896712415141 利用冒号表达式产生行向量 调用格式 e1 e2 e3 1 10ans 12345678910 100 7 50ans 10093867972655851用linspace函数产生行向量 调用格式 linspace a b n linspace 0 100 6 ans 020406080100用logspace函数产生行向量 调用格式 logspace a b n logspace 2 2 6 ans 0 01000 06310 39812 511915 8489100 0000 向量的创建 3 矩阵的合并 把两个或者两个以上的矩阵连接成一个新矩阵 矩阵构造符 可用于构造矩阵 并可以作为一个矩阵合并操作符 C AB 在水平方向合并矩阵A和B C A B 在竖直方向合并矩阵A和B 具有相同行数的两个矩阵 合并为一个新矩阵 不具有相同行数的两个矩阵 不允许合并为一个新矩阵 3 矩阵的合并 矩阵合并函数 3 矩阵的合并 3 矩阵的合并 A 163213 510118 96712 415141 B AA 32 A 48A 16 B 16321348353445510118374243409671241383944415141364746336451506132191829535859562126272457545560252223285263624920313017 A 16321351011896712415141 4 矩阵的扩展 A 16321351011896712415141 B A B 4 5 17B 1632130510118096712041514117 A end 1 18A 16321305101180967120415141171818181818 5 删除矩阵的行 列 A end A 1632130510118096712041514117 A end A 16321351011896712415141 A 16321305101180967120415141171818181818 6 改变矩阵结构 7 基于列的操作规则 在MATLAB中 矩阵元素按列存储 先第一列 再第二列 依此类推 阵列中的每列数据代表一个变量 每一行代表一个观察者 第 i j 个要素是第i个观察者的第j个变量 对5个人的3个身体指标数据进行记录 Data 72134328120135691567182148247517012 7 基于列的操作规则 例子 A 163213 510118 96712 415141 A 16321351011896712415141 a3 A 3 a5 A 5 a3 9a5 3序号 Index 与下标 Subscript 一一对应 以m n矩阵A为例 矩阵元素A i j 的序号为 j 1 m i 其相互转换关系可利用sub2ind和ind2sub函数求得 sum Data ans 37908090174 mean Data ans 758161834800 max Data ans 820201071 Data 72134328120135691567182148247517012 7 基于列的操作规则 基于列操作规则的函数 max 最大值min 最小值mean 平均值median 中值std 标准差var 方差sort 升序排列sortrows 按行的升序排列sum 求和prod 求积hist 直方图histc 直方图计数trapz 梯形数值积分cumsum 元素的累积求和cumprod 元素的累积求积cumtrapz 累计梯形数值积分 基本操作 有限差分diff 微分和导数gradient 梯度del2 离散拉普拉斯算子 相关性分析corrcoef 相关系数cov 协方差矩阵subspace 子空间的夹角 滤波和卷积 filter 一维数字滤波器filter2 二维数字滤波器conv 卷积和多项式乘法conv2 二维卷积convn N维卷积deconv 反卷积和多项式除法运算detrend 去除线性趋势 基于列操作规则的函数 傅里叶变换fft 离散傅里叶变换fft2 二维离散傅立叶变换fftn N维离散傅里叶变换ifft 逆离散傅立叶变换ifft2 二维逆离散傅立叶变换ifftn N维离散傅里叶逆变换fftshift 移零频率分量的频谱中心ifftshift 逆FFTSHIFT 8 矩阵的下标引用 通过矩阵下标来存取矩阵元素 1 访问单个元素2 线性引用元素3 访问多个元素 1 访问单个元素 A 16321351011896712415141 A i j i 行号 j 列号 A 1 4 A 2 4 A 3 4 A 4 4 ans 34 2 线性引用元素 对于矩阵A 线性引用元素的格式为A k 通常这样的引用用于行向量或列向量 但也可用于二维矩阵 MATLAB按列优先排列的一个长列向量格式 线性引用元素 来存储矩阵元素 A 16321351011896712415141 A 6 ans 10 3 访问多个元素 操作符 可用来获取矩阵的多个元素 若A是二维矩阵 其主要用法如下 A 矩阵A的所有元素A i 矩阵A第i行的所有元素A i k1 k2 矩阵A第i行的自k1到k2列的所有元素A j 矩阵A第j列的所有元素A k1 k2 j 返回矩阵A第j列的自k1到k2行的所有元素 A 16321351011896712415141 A 3 ans 9 逻辑下标 x 2 11 71 61 5NaN1 91 81 55 11 81 42 21 61 8 index isfinite x index 1111011111111 x index ans 2 11 71 61 51 91 81 55 11 81 42 21 61 8 x x isfinite x x 2 11 71 61 51 91 81 55 11 81 42 21 61 8 x x abs x mean x 3 std x x 2 11 71 61 51 91 81 51 81 42 21 61 8 删除离群点 删除异常点 find函数 寻找满足特定逻辑条件的数组元素的索引 k find isprime A k 259101113 A k ans 53211713 A k NaNA 16NaNNaNNaNNaN10NaN896NaN12415141 A 16321351011896712415141 10 矩阵信息的获取 1 矩阵的尺寸2 元素的数据类型3 矩阵的数据结构 1 矩阵的尺寸 矩阵尺寸函数可以得到矩阵的形状和大小信息 2 元素的数据类型 查询元素数据类型信息 3 矩阵元素的数据结构 判断矩阵是否为某种指定数据结构 11 稀疏矩阵 1 稀疏矩阵的创建2 稀疏矩阵的查看3 稀疏矩阵的运算规则 若一个矩阵只有少数的元素非零 称为稀疏矩阵 稀疏矩阵用非零元素及其对应的下标来表示 用户可以创建双精度 复数和逻辑等类型的稀疏矩阵 11 稀疏矩阵 1 稀疏矩阵的创建 函数sparse可用于创建稀疏矩阵S sparse i j s m n i j 稀疏矩阵非零元素的行和列下标s 相应的非零元素的值m n 是矩阵的行数和列数函数sparse从满矩阵转化为稀疏矩阵 函数full从稀疏矩阵转化为满矩阵 其它用于创建特殊稀疏矩阵的函数 2 稀疏矩阵的查看 MATLAB提供一些函数用于查看稀疏矩阵的信息 如下表所示 MATLAB自带一个的稀疏矩阵west0479 2 稀疏矩阵的查看 3 稀疏矩阵的运算规则 绝大多数适用于满阵的各种命令和函数都可以用于稀疏矩阵的运算 并且遵循如下约定 把矩阵变为标量或者定长向量的函数总是给出满矩阵 对于标量或者定长向量变换到矩阵的函数 如函数zeros ones eye rand等总是给出满矩阵 从矩阵到矩阵的变换函数将以原矩阵的形式出现 在参与矩阵扩展的子矩阵 如 AB CD 中 只要有一个是稀疏矩阵 那么所得的结果也是稀疏矩阵 在矩阵引用中 将仍以原矩阵形式给出结果 第2章矩阵及其操作 2 1数据类型2 2变量及其操作2 3矩阵基础2 4矩阵运算2 5矩阵的基本操作2 6矩阵分析2 7矩阵分解2 8矩阵相似变换2 9常用函数 2 4矩阵运算 矩阵的运算包括算术运算 点运算 关系运算 逻辑运算 1 算术运算基本算术运算 加 减 乘 右除 左除 乘方 2 4矩阵运算 矩阵的运算包括算术运算 点运算 关系运算 逻辑运算 1 算术运算基本算术运算 加 减 乘 右除 左除 乘方 加减法运算 语法 A B语法 A B A A ans 32811178201723111714261723262 A A ans 0 2 79205 77 50 2 9720注意 矩阵A和B矩阵的维数须相同 语法 A B A A ans 438236332150236310278332332278310236150332236438注意 矩阵A和B矩阵的维数有要求 两矩阵A和B 若A为m n矩阵 B为n p矩阵 则A B为m p矩阵 矩阵乘法 矩阵除法 在MATLAB中 有两种矩阵除法运算 和 分别表示左除和右除 对于含有标量的运算 两种除法运算的结果相同 如3 4和4 3有相同的值 都等于0 75 又如 若a 10 5 25 则a 5 5 a 2 15 如果A矩阵是非奇异方阵 则A b和b A运算可以实现 A b等效于A的逆左乘b矩阵 也就是A 1 b 而b A等效于A矩阵的逆右乘b矩阵 也就是b A 1 对于矩阵来说 左除和右除表示两种不同的除数矩阵和被除数矩阵的关系 对于矩阵运算 一般A b b A 矩阵与标量的运算 B A 8 5B 7 5 5 5 6 54 5 3 51 52 5 0 50 5 2 5 1 53 5 4 56 55 5 7 5 C A 2C 3264261020221618121424830282 A 16321351011896712415141 矩阵的乘方 语法 A n A Aans 341285261269261301309285285309301261269261285341 A 2ans 341285261269261301309285285309301261269261285341要求 A为方阵 n为标量 不一定为整数 2 点运算 在MATLAB中 有一种特殊的运算 因为其运算符是在有关算术运算符前面加点 所以叫点运算 点运算符有 两矩阵进行点运算是指它们的对应元素进行相关运算 要求两矩阵的维数相同 点乘 A Aans 341285261269261301309285285309301261269261285341 A Aans 256941692510012164813649144162251961 A 16321351011896712415141 点乘方 pows nn 22 n pows 001112244398416165253263664749128864256981512 n 0 9 n 0123456789 3 关系运算 MATLAB提供了6种关系运算符 大于 大于或等于 等于 不等于 3 关系运算 关系运算符的运算法则 当两个标量进行比较时 直接比较两数的大小 若关系成立 关系表达式结果为1 否则为0 当两个维数相同的矩阵进行比较时 对两矩阵相同位置的元素按标量关系运算规则逐个进行比较 最终的关系运算结果是一个维数与所比较的矩阵维数相同的由0或1组成矩阵 当一个矩阵和一个标量进行比较时 则对矩阵的每一个元素与标量按标量关系运算规则逐个进行比较 最终的关系运算的结果是一个维数与矩阵相同的由0或1组成矩阵 4 逻辑运算 MATLAB提供了3种逻辑运算符 与 and 或 or 非 not 异或 xor逻辑运算的运算法则 非零元素为真 用1表示 零元素为假 用0表示 设参与逻辑运算的是两个标量a和b 那么 a ba b都为非零时 运算结果为1 否则为0 a ba b中只要有一个非零 运算结果为1 a当a是零时 运算结果为1 当a非零时 运算结果为0 xor a b 当a和b有1个零 一个非零是 运算结果为1 否则 为零 4 逻辑运算 4 逻辑运算 若参与逻辑运算的是两个同维矩阵 那么运算将对矩阵相同位置上的元素按标量规则逐个进行 最终运算结果是一个与原矩阵同维的矩阵 其元素由1或0组成 若参与逻辑运算的一个是标量 一个是矩阵 那么运算将在标量与矩阵中的每个元素之间按标量规则逐个进行 最终运算结果是一个与矩阵同维的矩阵 其元素由1或0组成 逻辑非是单目运算符 也服从矩阵运算规则 在算术 关系 逻辑运算中 算术运算优先级最高 逻辑运算优先级最低 5 运算优先级 运算符的优先级决定表达式求值顺序 具有相同优先级的运算符从左到右依次进行运算 不同优先级的运算符采用先进行优先高的运算 运算符的优先等级表 括号的优先级最高 因此可以用它来改变默认的优先级 2 5矩阵的基本操作 矩阵的求和 sum A ans 34343434矩阵的转置 A ans 16594310615211714138121 A 16321351011896712415141 2 5矩阵的基本操作 矩阵的行列式 det A ans 0 A 16321351011896712415141 矩阵的特征值 eig A ans 3408000 80 命令窗口输入和输出控制 格式函数format控制数值的显示格式 x 4 31 2345e 6 formatshort xx 1 33330 0000formatshorte xx 1 3333e 0001 2345e 006 formatshortg xx 1 33331 2345e 006 formatlong xx 1 333333333333330 00000123450000 其它支持的格式 helpformat 2 6矩阵分析 1 向量间的距离2 矩阵的秩3 矩阵的行列式4 矩阵的迹5 矩阵的化零矩阵6 矩阵的正交空间7 矩阵的简化梯形形式8 矩阵空间之间的角度 部分矩阵分析函数 1 向量间的距离 2 矩阵的秩 矩阵A中线性无关的列向量个数称为列秩 线性无关的行向量个数称为行秩 可以证明列秩与行秩是相等的 3 矩阵的行列式 4 矩阵的迹 矩阵的迹定义为矩阵对角元素之和 5 矩阵的化零矩阵 对于非满秩矩阵A 若存在矩阵Z使得AZ 0且ZTZ I 则称矩阵Z为矩阵A的化零矩阵 在MATLAB中用函数null 来计算矩阵的化零矩阵 6 矩阵的正交空间 矩阵A的正交空间Q满足QTQ I 且矩阵Q与A具有相同的列基底 7 矩阵的简化梯形形式 矩阵A的简化梯形形式为 其中Ir为r阶单位矩阵 8 矩阵空间之间的角度 矩阵空间之间的角度代表具有相同行数的两个矩阵线性相关程度 夹角越小代表线性相关度越高 2 7矩阵分解 1 Cholesky分解2 LU分解3 QR分解4 奇异值分解5 Schur分解 矩阵分解是把一个矩阵分解成比较简单或者对它性质比较熟悉的若干矩阵的乘积的形式 矩阵分解函数表 1 Cholesky分解 Cholesky分解是把对称正定矩阵A表示为上三角矩阵R的转置与其本身的乘积 即A RTR 1 Cholesky分解 对于稀疏矩阵 MATLAB中用函数cholinc 计算不完全Cholesky分解R full cholinc sparse X DROPTOL 其中DROPTOL为不完全Cholesky分解的丢失容限 R full cholinc sparse X 0 完全Cholesky分解 2 LU分解 高斯消去法又称LU分解 将任意一个方阵A分解为一个交换下三角矩阵L和一个上三角矩阵U的乘积 即A LU LU分解在MATLAB中用函数lu 来实现 L U lu X X为一个方阵 L为交换下三角矩阵 U为上三角矩阵 L U P lu X X为一个方阵 L为下三角矩阵 U为上三角矩阵 P为置换矩阵 满足关系P X L U或X P 1 L U 2 LU分解 对于稀疏矩阵 LU luinc X DROPTOL 其中X L和U的含义与函数lu 中的变量相同 DROPTOL为不完全LU分解的丢失容限 当DROPTOL设为0时 退化为完全LU分解 L U luinc X 0 0级不完全LU分解 L U P luinc X 0 0级不完全LU分解 3 QR分解 QR分解就是将m n的矩阵A分解为m n的矩阵Q和n n的上三角矩阵R的乘积 且Q Q I 即A Q R QR分解是由函数qr 来实现 Q R qr A 满足A Q R R qr A 返回上三角矩阵R 4 奇异值分解 奇异值分解就是将m n的矩阵A分解为A U S V 其中U为m m的酉矩阵 V为n n的酉矩阵 S为m n的矩阵 并可如下表示 其中 奇异值分解由函数svd 来实现 5 Schur分解 Schur分解是将复方阵A分解为A U L U 其中U为酉矩阵 L为上 下 三角矩阵 其对角线元素为A的特征值 Schur分解由函数schur 来实现 U L schur A 满足A U L U 其中L为上三角矩阵 L schur A 返回上三角矩阵L 2 8矩阵相似变换 矩阵相似变换是指对于方阵A和非奇异矩阵B可得到相似矩阵X B 1 A B 1 对角阵变换2 Jordan变换 1 对角阵变换 对于方阵A 若 V D eig A 得到的矩阵V非奇异 则A可经过相似变换得到对角阵 即D V 1 A V 也称矩阵A可对角化 2 Jordan变换 对于方阵A 若 V D eig A 得到的矩阵V奇异 则A经过相似变换将不能得到对角阵 只能得到其对应的Jordan标准型 2 Jordan变换 函数jordan 实现Jordan变换 V D jordan A 满足D V 1 A V D jordan A 返回矩阵A对应的Jordan标准型 2 9常用函数 1 三角函数2 指数和对数函数3 复数函数4 截断和求余函数5 特殊函数 1 三角函数 续表 2 指数和对数函数 3 复数函数 4 截断和求余函数 5 特殊函数 1 工程函数2 数论函数3 坐标变换函数 1 工程函数 2 数论函数 3 坐标变换函数 习题 1 计算矩阵A的范数 行列式 秩 化零空间和正交空间 2 求解线性方程组AX B 其中A如第1题所示 B 11111 T 3 对矩阵A进行LU分解和Schur分解 其中A如第1题 4 对矩阵A的前4行进行QR分解和奇异值分解 其中A如第1题 5 计算矩阵A的特征根及对应的特征向量 判断矩阵A是否可对角化 其中A如第1题 6 计算矩阵A的指数 开平方和余弦值 其中A如第1题 7 计算矩阵A每个元素的指数 开平方和余弦值 元素单位为度 其中A如第1题 8 计算复数矩阵C每个元素的模 相角和共轭 9 分别使用函数fix floor ceil 和round 计算第8题中的相角结果 10 将2 i的模结果近似为有理数 并以数值形式显示 11 计算 其中m 4 和n是42与35的最大公因数 12 将球坐标系中的点 1 1 1 分别转换到笛卡尔坐标系和极坐标系
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


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


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

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


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