matlab02向量与矩阵运算.ppt_第1页
matlab02向量与矩阵运算.ppt_第2页
matlab02向量与矩阵运算.ppt_第3页
matlab02向量与矩阵运算.ppt_第4页
matlab02向量与矩阵运算.ppt_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数学实验 第二讲向量与矩阵运算 本讲主要内容向量与矩阵的生成矩阵的相关运算 基本操作 旋转 转置 求矩阵的行数与列数等 基本运算 等 点运算 常见的数学函数 2 1 1通过语句和函数产生向量的产生 4种常用方法 直接输入 a 1 2 3 4 c 2 4 6 8 用冒号运算符 很常用 例 a 1 4 方括号可以省略 a 1 2 3 4 b 0 pi 3 pi b 0 1 0472 2 0944 3 1416 由取等分点函数linspace 生成 一般格式 x linspace a b n n省略取100个等分点 功能 在区间 a b 上取n个等分点 包含端点a b从矩阵中抽取例 a A 2 b A 1 考虑a和b的含义 2 1向量与矩阵的生成 向量的常用操作 回顾与扩展 a 1234 向量元素的访问 a 3 向量的扩充 a 8 3 向量元素或向量子部分的删除 a 2 a 2 4 A 1 10 向量子部分的抽取 B A 1 3 C A 5 end D A 246 E A 264 交换向量元素 A 25 A 52 向量的逆序A A end 1 1 矩阵的产生 4种常用方法 直接输入 A 1 2 3 4 5 6 7 8 9 大矩阵可以由向量或矩阵拼合而成例 1 x 1 2 3 y 2 3 4 A x y B x y 考虑A和B的区别 通过编写m文件生成 通常是较大或元素较为繁琐的矩阵例 试做一个名为data m的命令文件 在其中输入 A 1 2 3 4 5 6 7 8 0 并在matlab命令窗口中 执行data命令 由函数生成的特殊矩阵例 c magic 3 魔方矩阵 矩阵的常用操作 回顾与扩展 A 135 7911 131517 矩阵元素的访问 A 1 2 A 5 矩阵的扩展A 4 3 6 A 6 6 11A 135 7911 131517 矩阵的拼合 A A 246 A A 1 2 3 4 B A A C A A 子矩阵的抽取x A 2 B A 1 3 C A 3 end D A 134 E A 143 子矩阵的删除 A 2 A 3 end 矩阵行的交换 A 13 A 31 常见矩阵生成函数 教材P53 Ex5 如何建立下列矩阵 解 A1 eye 10 2004 解 A2 ones 10 eye 10 10 解 A3 ones 10 eye 10 2003 解 A4 10 ones 10 eye 10 20 教材P53 Ex5 如何建立下列矩阵 解 A5 tril eye 10 diag 9 10 99 解 A7 eye 5 2004 diag 20 10 50 1 试一试 A7 eye 5 2004 diag 20 10 50 1 A7 eye 5 2004 diag 20 10 40 2 教材P53 Ex5 如何建立下列矩阵 解 观察 此矩阵是Hilbert矩阵的一部分 先观察hilb 5 求所需矩阵formatrat 设置有理数格式显示h hilb 11 生成11阶的h矩阵h 1 删除第一行h end 删除最后一列format 恢复系统默认显示 例 利用冒号运算可以生成简易表格x 0 0 0 05 pi 4 生成一个点列并转置成列向量xy x sin x cos x tan x 生成相应的函数值列向量y并显示在窗口中 向量与矩阵运算的一个应用 y 001 000000 05000 05000 99880 05000 10000 09980 99500 10030 15000 14940 98880 15110 20000 19870 98010 20270 25000 24740 96890 25530 30000 29550 95530 30930 35000 34290 93940 36500 40000 38940 92110 42280 45000 43500 90040 48310 50000 47940 87760 54630 55000 52270 85250 61310 60000 56460 82530 68410 65000 60520 79610 76020 70000 64420 76480 84230 75000 68160 73170 9316 2 2矩阵操作 矩阵的提取 旋转 转置和变维 提取矩阵的部分元素 冒号运算符A A的所有元素A 二维矩阵A的所有元素A k A的第k列 A k A的第k行A k m A的第k到第m个元素A k m A的第k到第m列组成的子矩阵 建立一个5阶的魔方矩阵 试一试上边的冒号运算 A 与A 的区别 如何获得由A的第一 三行和第一 二列组成的子矩阵 矩阵的旋转fliplr A 左右旋转flipud A 上下旋转rot90 A 逆时针旋转90度 rot90 A k 逆时针旋转k 90度例 A 1 2 3 4 5 6 7 8 9 B fliplr A C flipud A D rot90 A E rot90 A 1 A 1 2 3 4 5 6 7 8 9 A 123456789101112 矩阵的转置与共轭转置 共轭转置 转置 矩阵元素不取共轭 例 A 12 2i3i B A C A 点与单引号之间不能有空格 变维操作 reshape reshape A m n 将矩阵元素按列方向进行重组 重组后得到的新矩阵的元素个数必须与原矩阵元素个数相等 A 123 456 789 101112 A 123456789101112 reshape A 3 4 A 110864211975312 reshape A 2 6 查看矩阵的大小 sizesize A 列出矩阵A的行数和列数size A 1 返回矩阵A的行数size A 2 返回矩阵A的列数例 A 123 456 size A size A 1 size A 2 m n size A 双输出变量 多元赋值语句 ones size A length x 返回向量X的长度length A 等价于max size A 2 3矩阵基本运算 3 3 1矩阵加减 对应分量进行运算 要求参与加减运算的矩阵具有相同的维数例 A 123 456 B 321 654 C A B D A B 特别 标量可以与任意维数的矩阵相加减 标量与每个元素相加减 3 3 2矩阵乘法矩阵的普通乘法 要求参与运算的矩阵满足线性代数中矩阵相乘的原则 内阶数相同例 A 123 456 B 21 34 C A B 对于标量 可以与任意维数的矩阵相乘 标量与每个元素相乘 矩阵Kronecker乘积 张量积 kron A B 设A是n m矩阵 B是p q矩阵 则A与B的kronecker乘积为np mq矩阵 例 A 12 34 B 132 246 C kron A B 则运行结果 C 132264246481239641286121881624 矩阵除法 左除 如C A B求出的是 使得A C B的矩阵C右除 如C B A求出的是 使得C A B的矩阵C若A可逆方阵 则A Binv A BB AB inv A 关于线性方程组矩阵形式 A x B显然有 x A B就是A x B的解 x B A就是x A B的解 注意 当A和B行数相等时即可进行左除当A和B列数相等时即可进行右除 2 3 3矩阵除法 左除 右除 例 求下列线性方程组的解x1 2x2 3x3 14x1 5x2 6x3 37x1 8x2 5解 线性方程组可以用矩阵形式来表达 线性方程组表为矩阵相乘 如果A非奇异 可以用rank A 验证一下 则 x x1 x2 x3 A b 即 A 123 456 780 A是线性方程组的系数矩阵b 1 3 5 b是线性方程组的常数项列向量x A b x A b是线性方程组的解 方法2 用逆矩阵求x inv A b 回顾 前面所讲内容 向量与矩阵的生成 各自4种常用方法 特别是特殊矩阵的生成函数 矩阵的相关运算 基本操作 提取 旋转 转置 变维 求矩阵的行数与列数等 基本运算 等 A是方阵 p是正整数A p表示A的p次幂 即p个A相乘 强调 此时A是看成一个整体 这是真正的矩阵乘积 若a是标量 D是对角矩阵 若a是标量 A是方阵 且 V D eig A 则规定 a A V a D V 此时A是看成一个整体若A P均是矩阵 则A P无定义 则规定 2 3 4矩阵乘方 函数在矩阵上的取值 f作用在A的每个分量上 对于任意函数f 例 x 0 pi 4 pi A 123 456 y1 sin x y2 exp A y3 sqrt A 如 怎样计算eA 与上边的exp A 相同吗 不相同 此时矩阵A作为一个整体 它是按照前面的矩阵乘方的底为标量的规则来计算的 矩阵的超越函数 矩阵作为一个整体来运算 Matlab提供了三种矩阵函数 expm sqrtm logm如 比较A magic 3 B expm A B1 exp A expm A 即为e A V D eig A B2 V exp 1 D V 比较前边规定A magic 3 D logm B 矩阵的对数函数仍与指数函数互逆又如 B sqrtm A 则是使得B B A的矩阵B 验证一下 A 12 34 B sqrtm A B B更一般的矩阵函数 funmfunm A fun 参数fun的可以是exp log cos sin cosh sinh cos sin 是利用泰勒展式化为指数级数计算的 2 3 6数组运算 点运算 数组运算 对应元素进行运算 Matlab所特有数组运算包括 点乘 点除 点幂 特别注意 点与算术运算符之间不能有空格 例 A 123 456 B 321 654 C A B D A B E A B F A B 特别注意 参与运算的对象必须具有相同的形状 或者 其中至少有一个是标量 例 x 123 y 456 1 y 1 4 1 5 1 6 x y 1 4 2 5 3 6 1 32 729 x 2 1 2 2 2 3 2 1 4 9 2 x 特别注意 当点运算前面是一个数字的时候 点前一定要留个空格 向量与矩阵的生成 各自4种常用方法 特别是特殊矩阵的生成函数 矩阵的相关运算 基本操作 旋转 转置 求矩阵的行数与列数等 基本运算 等 点运

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论