版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、向量与矩阵运算,数学实验,向量,向量是行数或列数为1的特殊矩阵,其一般显示为1n或n1的数列。用户在构造新矩阵,以及对矩阵进行访问、修改等操作时,常用到向量数列。 MATLAB提供了生成等差向量数列的符号-冒号,例如:(p:q)生成从p到q,差为1的递增向量数列。例如:创建101的等差递减数列,在命令窗口输入代码及执行结果如下。 v=(10:-1:1) v = 10 9 8 7 6 5 4 3 2 1,向量,数列中的元素不但可以是整数,也可以取负数和小数,在命令窗口输入代码,观察结果: b=(-4.4:4.4) Matlab默认数列差值为整数1,在默认差值情况下,数列为递增数列;大家可以自行设
2、置p q的情况,但此时需要将差值设置为负数,否则系统会显示:生成的是空矩阵。 如果p和q的距离是非整数,Matlab仍然默认差为1,直到递增量加1超过数列尾数时停止。但是大家设置差值时,递增量可以任意取值。,标量是行列数都是1的特殊矩阵,任意以矩阵形式表示的单个实数或复数,称之为标量。如下实数x就是一个标量。实数5的维数为2,即行和列;且各维数值都为1。,标量, x=5 x = 5 ndims(x) % 查看x的维数 ans = 2 size(x) %查看行、列维的数值 ans = 1 1,MATLAB中为了表示和操作的方便,引入了“空矩阵”的概念,其含义是至少一维的数值为0的矩阵。空矩阵可以
3、是、和(n为正整数)。空矩阵不是全0矩阵,大家可以通过如下指令建立一个空矩阵a,再利用whos指令查看其名称、大小和数据类型。 a a = whos Name Size Bytes Class a 0 x0 0 double array,空矩阵,MATLAB的基本数据结构为矩阵,其所有运算都是基于矩阵进行的。从形式上看,矩阵可以理解成二维的数组,矩阵可以方便地存储和访问MATLAB中众多数据类型,构成矩阵的元素可以是MATLAB中的任何数据类型。接下来主要讲解矩阵和数组的基本结构,即操作内容,包括矩阵的生成、矩阵的拼接、矩阵变形、矩阵元素的寻访、获取矩阵的信息,各种特殊矩阵类型的知识.,向量与
4、矩阵运算,矩阵是所有MATLAB运算的基础,大家如果要实现科学运算、程序设计、特性绘制等目标,必须要确定矩阵的类型,并建立矩阵。MATLAB中创建一个矩阵可以有两种常用的方法: 一、直接输入矩阵元素。 二、调用矩阵创建函数。,向量与矩阵运算,对于简单的矩阵,特别是元素数目不多的矩阵,逐个输入矩阵元素是最常用、最便捷的矩阵创建方法,其遵循以下3条原则: 运用矩阵构造符 包含所创建矩阵的所有元素; 使用逗号“ ,”或者空格“ ”分隔矩阵的列; 使用分号“ ;”或者回车键分隔矩阵的行。,输入元素创建简单矩阵,向量与矩阵的生成,向量与矩阵运算,向量的生成,直接输入: a=1,2,3,4,冒号运算符,例
5、:,向量与矩阵的生成(续),向量与矩阵运算,矩阵的生成,直接输入: A=1, 2, 3; 4, 5, 6; 7, 8, 9,由向量生成,由函数生成,通过编写m文件生成,例: x=1,2,3;y=2,3,4;, A=x,y, B=x;y,例: C=magic(3),常见矩阵生成函数,【练习1】分别建立33、32和与矩阵A同样大小的零矩阵。 (1) 建立一个33零矩阵。 (2) 建立一个32零矩阵。 (3) 设A为23矩阵,则可以用zeros(size(A)建立一个与矩阵A同样大小零矩阵。A=1 2 3;4 5 6; %产生一个23阶矩阵Azeros(size(A) %产生一个与矩阵A同样大小的零
6、矩阵,【练习2】 试建立以下随机矩阵: (1) 在区间20,50内均匀分布的5阶随机矩阵。 (2) 均值为0.6、方差为0.1的5阶正态分布随机矩阵。,命令如下: x=20+(50-20)*rand(5) y=0.6+sqrt(0.1)*randn(5),矩阵操作,提取矩阵的部分元素: 冒号运算符,A(:) A的所有元素,A(:,:) 二维矩阵A的所有元素,A(:,k) A的第 k 列, A(k,:) A的第 k 行,A(k:m) A的第 k 到第 m 个元素,A(:,k:m) A的第 k 到第 m 列组成的子矩阵,A(:) 与 A(:,:) 的区别 ?,如何获得由 A 的第一、三行和第一、二
7、列组成的子矩阵?,A(:,j)表示取A矩阵的第j列全部元素; A(i,:)表示A矩阵第i行的全部元素; A(i,j)表示取A矩阵第i行、第j列的元素。 A(i:i+m,:)表示取A矩阵第ii+m行全部元素;A(:,k:k+m)表示取A矩阵第kk+m列的全部元素,A(i:i+m,k:k+m)表示取A矩阵第ii+m行内,并在第kk+m列中的所有元素。 此外,还可利用一般向量和end运算符等来表示矩阵下标,从而获得子矩阵。end表示某一维的末尾元素下标。,【练习】提取矩阵 A 的1,3,5列。 A=1,2,3,4,5,6;7,8,9,10,11,12; 13,14,15,16,17,18; A1=A
8、(:,1,3,5) % 方法一 A(:,2,4)= % 方法二:利用空阵 A = 1 3 5 7 9 11 13 15 17,矩阵操作,矩阵的旋转,fliplr(A) 垂直方向为轴翻转矩阵,flipud(A) 水平方向为轴翻转矩阵,rot90(A) 逆时针旋转 90 度; rot90(A,k) 逆时针旋转 k90 度,例: A=1 2 3;4 5 6, B=fliplr(A), C=flipud(A), D=rot90(A), E=rot90(A,-1),试以阶为3的魔术矩阵熟悉上述操作,矩阵操作,矩阵的转置与共轭转置,例: A=1 2;2i 3i, B=A, C=A.,点与单引号之间不能有空
9、格!,矩阵操作,改变矩阵的形状:reshape,reshape(A,m,n): 将矩阵元素按 列方向 进行重组,重组后得到的新矩阵的元素个数 必须与原矩阵元素个数相等!,矩阵操作,查看矩阵的大小:size,size(A) 列出矩阵 A 的行数和列数,size(A,1) 返回矩阵 A 的行数,size(A,2) 返回矩阵 A 的列数,例: A=1 2 3; 4 5 6, size(A), size(A,1), size(A,2),length(x) 返回向量 X 的长度,length(A) 等价于 max(size(A),矩阵基本运算,矩阵的加减:对应分量进行运算,要求参与加减运算的矩阵具有 相
10、同的维数,例: A=1 2 3; 4 5 6; B=3 2 1; 6 5 4, C=A+B; D=A-B;,矩阵的普通乘法,要求参与运算的矩阵满足线性代数中矩阵相乘的原则,矩阵基本运算,矩阵的除法:/、 右除和左除,若 A 可逆方阵,则,AB A 的逆左乘 B inv(A)*B,B/A A 的逆右乘 B B*inv(A),X=AB A*X=B X=B/A X*A=B,通常,矩阵除法可以理解为,当 A 和 B 行数相等时即可进行左除 当 A 和 B 列数相等时即可进行右除,矩阵的数组运算,数组运算:对应元素进行运算,点与算术运算符之间不能有空格!,数组运算包括:点乘、点除、点幂,相应的数组运算符
11、为:“.* ” ,“./ ”, “. ”和“ . ”,参与运算的对象必须具有相同的形状!,数与数组的点幂,x.y =14,25,36=1,32,729,x.2 =12,22,32=1,4,9,2 .x = ?,. 前面留个空格,例:x=1 2 3; y=4 5 6;,2 .x;y= ?,Matlab中的所有 标点符号必须在 英文状态下输入,Matlab中常见数学函数,log 是自然对数,即以 e 为底数 mod(x,y) 结果与 y 同号,rem(x,y) 则与 x 同号 max 等函数的参数是矩阵时,是作用在矩阵各列上,拼接矩阵,矩阵的拼接是指两个或者两个以上的单个矩阵,按一定的方向进行连接
12、,生成新的矩阵。从本质上说,矩阵的拼接就是一种创建矩阵的特殊方法,区别在于基础元素是原始矩阵,目标是新的合并矩阵。本节主要介绍矩阵拼接的两种方法,一是利用矩阵生成符 ,另一种是调用矩阵拼接函数。,拼接矩阵,通常,矩阵的拼接有按照水平方向拼接和按照垂直方向拼接两种。例如,对矩阵A和B进行拼接,拼接表达式分别如下所示。 水平方向拼接:C=A B或C=A,B。 垂直方向拼接:C=A;B。 【例】 把3阶的魔术矩阵和3阶的单位矩阵在水平方向上拼接成为一个的新矩阵,垂直方向上拼接成为一个的新矩阵。 本例目的:熟悉矩阵的拼接方法和不同方向上拼接的区别。,改变矩阵尺寸,矩阵的尺寸又称矩阵的大小。在MATLAB中,用户可以方便地对矩阵的尺寸进行扩大和缩小,扩大矩阵的主要方式是拼接和添加元素,缩小矩阵的方式是删除
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026广州医科大学附属第三医院粤西医院(茂名市电白区妇幼保健院)托育园招聘编外工作人员4人备考题库及答案详解(基础+提升)
- 2026新疆博尔塔拉蒙古自治州华棉棉业有限责任公司招聘1人备考题库附完整答案详解【易错题】
- 统编版小学语文六年级下册《为人民服务》教学设计
- 2026年在线心理咨询技术应用报告
- 2026广东惠州市惠城职业技术学校春季学期招聘化工实训室管理员(外聘合同制)1人备考题库(完整版)附答案详解
- 2026年保定理工学院单招综合素质考试题库含答案详细解析
- 2026中国科大基本建设处劳务派遣岗位招聘4人备考题库汇编附答案详解
- 2026年辽宁省丹东市高职单招职业适应性测试考试题库含答案详细解析
- 2026江苏宿迁市泗洪县招聘合同制和公益性岗位人员15人备考题库(夺分金卷)附答案详解
- 2026辽宁丹东市北宸商务科技有限责任公司面向社会招聘1人备考题库含答案详解【黄金题型】
- 危重患者转运护理规范课件
- 2026山东省港口集团有限公司社会招聘笔试备考试题及答案解析
- 360人工智能安全团队2026年OpenClaw安全部署与实践指南360护航版
- 2026云南楚雄市司法局第一批司法协理员招聘10人考试参考试题及答案解析
- 外贸服装业务部管理制度
- 中央预算资金34个细分领域资金分布比例及项目申报实操
- 2026青海海东公安招录32名人民警察备考题库及答案详解(夺冠系列)
- 2026西藏自治区教育考试院招聘非编工作人员11人备考考试题库及答案解析
- 家长安全培训内容文案课件
- 肿瘤学课件教学
- 高级程序设计题库及答案
评论
0/150
提交评论