第二章matlab矩阵运算
合集下载
第2章__MATLAB矩阵及其运算

3.利用冒号表达式建立一个向量(增量赋值) .利用冒号表达式建立一个向量(增量赋值) 冒号表达式可以产生一个行向量,标准格式是: 冒号表达式可以产生一个行向量,标准格式是: x=e1:e2:e3 其中e1为初始值 为初始值, 为步长 为步长, 为终止值 为终止值。 其中 为初始值,e2为步长,e3为终止值。
2、矩阵变量的性质 、 矩阵变量的维数可以用size( )函数获得: 函数获得: 矩阵变量的维数可以用 函数获得 例: 矩阵标识符为[ , 矩阵标识符为 ],如 果是1*1矩阵,则可以 矩阵, 果是 矩阵 省略矩阵标识符; 省略矩阵标识符; 矩阵变量的各行之间 用分号隔开, 用分号隔开,列之间 用逗号或空格隔开;
计算表达式的值,并显示计算结果。 例2-1 计算表达式的值,并显示计算结果。 在MATLAB命令窗口输入命令: 命令窗口输入命令: 命令窗口输入命令 x=1+2i; y=3-sqrt(17); z=(cos(abs(x+y))-sin(78*pi/180))/(x+abs(y)) 其中pi和 都是 都是MATLAB预先定义的变量, 预先定义的变量, 其中 和i都是 预先定义的变量 分别代表代表圆周率π和虚数单位。 分别代表代表圆周率 和虚数单位。 和虚数单位 输出结果是: 输出结果是: z= -0.3488 + 0.3286i
2.1.1 变量与赋值语句
在matlab中,变量定义为矩阵是最基本的变量定 中 义之一,因此, 义之一,因此,matlab语言的运算是基于矩阵的 语言的运算是基于矩阵的 运算。 运算。
1.变量命名 .
变量名是以字母开头, 在MATLAB 中,变量名是以字母开头,后接字 母、数字或下划线的字符序列。在MATLAB中, 数字或下划线的字符序列。 中 变量名区分字母的大小写, 变量名区分字母的大小写,且自定义的变量名最 好不要和matlab中的专用变量及函数同名。 中的专用变量及函数同名。 好不要和 中的专用变量及函数同名 A=3; a=3; _q=4; a_1=5; B=[1 2;3 4]
matlab第二章矩阵运算基础

南京信息工程大学
4
例2.1 创建矩阵
>>x=[1 2 3;4 5 6;7 8 9] >>x=[1 2 3 456 7 8 9] >>x=[a b c;e f g;u v w] >>x=[1 2 3;4 5 6]; y=[2 3 4;5 6 7] >>Q=x*y >>a=2;b=3 >>x=a*b
2010-12-29
2010-12-29 南京信息工程大学 6
2.1 矩阵的创建
2、 赋值语句 MATLAB赋值语句有两种格式:
变量=表达式(或数) 表达式
2010-12-29
南京信息工程大学
7
【例2.2】 x=[1,2,3;4,5,6;7,8,9] 与[1,2,3;4,5,6;7,8,9]。
5 + cos 47
【例2.3】计算
2010-12-29
南京信息工程大学
25
§2.2 矩阵和数组的算术运算 六、点运算
C=A.*B C=A.\B
C=A./B C=A.^B
2010-12-29
南京信息工程大学
26
§2.2 矩阵和数组的算术运算 七、幂运算
C=A^B C=A.^B
2010-12-29
南京信息工程大学
27
例2.12 例2.13 例2.14 例2.15
find(x)
检查x是 否全为1
南京信息工程大学 42
2010-12-29
例2.20 建立矩阵A,然后找出大于4的元素位置 (1)建立A >>A=[4 -6 5 -54 0 6 56 0 67 -45 0] (2)找出大于4的元素位置 >>find(A>4)
第二章 MATLAB的基础语法-矩阵与画图

2.1.4 矩阵的运算
1. MATLAB中矩阵运算符: + 加法;- 减法;’ 转置;* 乘法;^ 乘幂;\ 左除;/ 右除。 2. 注意:它们要符合矩阵运算的规律,如果矩阵的行 列 数不符合运算符的要求,将产生错误信息。 3. 举例:左除和右除的用法: 设A是可逆矩阵, ①、AX=B 的解是A 左除B,即 X=A\B
>>A(1:2:3,4:-1:2)↙ >>D(:,1)=[]↙%删除D的第1列,[ ]为空集符号 D= 0 1
2. 矩阵的拼接
定义:将几个矩阵接在一起称为拼接。 注意:左右拼接时行数相同,上下拼接时列数相同。
例题
>>E=[D,zeros(2,1)]↙ E = 2 3 0 5 6 0
2 3 D= 5 6
d =
e = -1.2000
3.1000
0
3.1000
4.0000
6.0000
2.4.3 矩阵函数
MATLAB有大量的 处 理矩阵的函数,从其作用 来 看可分为 两 类: 构造矩阵的函数;进行矩阵计算的函数。对于前者,我们已经 介绍了
构造矩阵的函数
eye(单位阵)
zeros(0阵)
ones(1阵)
2.4.2 向量函数
有些函数只有当它们作用于(行或列)向量时才有意义,称为 向量函数,这些函数也可以作用于矩阵,此时它产生一个行向 量,行向量的每个元是函数作用于矩阵相应列向量的结果。常 用的有: max,min,sum( 和 ) , length( 长 度 ) ,mean( 平 均 值 ) median(中值),prod(乘积),sort(从小到大排列) 例 >>a=[4 3.1 -1.2 0 6]; b=min(a),c=sum(a),d=median(a),e=sort(a) ↙ b = c = 11.9000 -1.2000
Matlab矩阵运算基础数值运算

data =
1.1000 3.0000 4.0000
2.3000 2.0000 1.0000
.
13
3.2 矩阵运算
主要介绍矩阵的算术运算、关系运算、逻辑 运算和常用的有关矩阵的其他运算(矩阵的 逆,矩阵的秩、矩阵的分解等)。
.
14
3.2.1 矩阵的算术运算
1、矩阵的加(+)减(-)运算:
A±B 矩阵A和矩阵B的和与差,即矩阵相应 位置的元素相加、减。
>> A=magic(3)
D=
A= 816
0.5492 0.2421 -0.6520 0.9075
357
1.0047 -0.4941
492
>> C*D
>> B=inv(A)
ans =
B=
1.0000 0.0000
0.1472 -0.1444 0.0639
0.0000 1.0000
-0.0611 0.0222 0.1056
~ A 对单个矩阵或标量进行取反运算,结果是0-1矩阵。
.
28
3.2.3 矩阵的逻辑运算
例3-11 1 0 3
1 2 0
A2.6 1 2, B0 5 0
0 3 1
1 0 1
计算 A&B, A|B, ~A Nhomakorabea.
29
3.2.4 矩阵函数
1、矩阵的共轭
MATLAB中求矩阵的共轭矩阵的函数是conj,其 调用格式为:
除或浮点溢出都不按错误处理,只是给出警告信息,同时用“Inf”
标记。
.
20
3.2.1 矩阵的算术运算
4、 矩阵的幂运算:^ A^B A的B次方。
MATLAB矩阵及运算

点乘——元素对元素乘法 叉乘——矩阵对矩阵乘法
对比举例
矩阵的右除、左除
MATLAB的基本处理单元是复数矩阵(标量是一 个1*1的矩阵)。而在《线性代数》理论中没有除 法运算。所以定义了除法为乘法的逆运算。
注意:因为矩阵乘法不满足交换律,即一般 A*B≠B*A,所以除法要考虑“右除”、“左 除”。
2.1.2 变量
变量的命名规则: 1)变量名、函数名对字母的大、小写敏感。 2)变量名由字母、数字和下划线构成。第一个
字母必须是英文字母。 3)有字符个数限制(版本5.0 :最多31个字符)
2.1.2 变量
MATLAB系统默认变量
重点
(注意大小写!)
i或j:
虚单元 正确:5+7j 错误:5+j7
2.1表达式
表达式 (即语句):将变量、数值、函数 用操作符连接起来,就构成了表达式 。
例如:a=(10j+sqrt(10))/2; %注释 ☆行末的“;”用于抑制结果在屏幕上显示
例如: sin(a),sin(b) ,a+b ☆同在一行的表达式,必须用“,”分开
2.2 矩阵的产生与操作
矩阵的产生:
A./Baa31//b b1 3
a2/b2 a4/b4
B.\A
A.\Bbb31//aa13 bb42//aa42B./A
分析:
K/N=K*inv(N)
因为N不是方阵,没有逆 阵,所以报告错误。
K\N=inv(K)*N
因为K的逆阵尺寸2×2, N的尺寸2×3,所以结 果矩阵2×3。
矩阵元素的指数运算
这种战略取得了成功:使人们不在编程细节上化 精力,把注意力集中到科学计算的方法和建模合理性等 大问题上。
MATLAB基础教程 第2章 数组、矩阵及其运算

写出MATLAB表达式。 解:根据MATLAB的书写规则,以上MATLAB表达式为: (1)y=1/(a*log(1-x-1)+C1) (2)f=2*log(t)*exp(t)*sqrt(pi) (3)z=sin(abs(x)+abs(y))/sqrt(cos(abs(x+y))) (4)F=z/(z-exp(T*log(8)))
命令:X(3:-1:1)
命令:X(find(X>0.5)) 命令:X([1 2 3 4 4 3 2 1])
第二章 数组、矩阵及其运算
2.1 数组(矩阵)的创建和寻访
2. 二维数组的创建和寻访
例2-3 综合练习。将教材P.31~P.44的实例按顺序在MATLAB的 command窗口中练习一遍,观察并体会其输出结果。 (注意变量的大小写要和教材上的严格一致。)
A./B
B.\A
A的元素被B的对应元素相除
(与上相同)
第二章 数组、矩阵及其运算
2.3 数组、矩阵的其他运算
1. 乘方开方运算
数组的乘方运算与power函数 格式:c=a.^k或c=power(a,k) 例如: >> g=[1 2 3;4 5 6] >>g.^2 矩阵的乘方运算与mpower函数 格式:C=A^P或C=mpower(A,P) 注意:A必须为方阵
第二章 数组、矩阵及其运算
2.2 数组、矩阵的运算
3. 矩阵的加法、减法
运算规则是:若A和B矩阵的维数相同,则可以执行矩阵的加减运算, A和B矩阵的相应元素相加减。如果维数不相同,则MATLAB将给出
出错信息。
第二章 数组、矩阵及其运算
2.2 数组、矩阵的运算
3. 矩阵的乘法
第2章 matlab矩阵及其运算

第2章 MATLAB 矩阵及其运算
2.1.2 MATLAB常用数学函数
MATLAB提供了许多数学函数,函
数的自变量规定为矩阵变量,运算法
则是将函数逐项作用于矩阵的元素上, 因而运算的结果是一个与自变量同维
数的矩阵。
11/128 MALAB 7.X程序设计
第2章 MATLAB 矩阵及其运算
1. 三角函数 • sin 正弦函数 • asin 反正弦函数 • cos 余弦函数 • tan 正切函数 • cot 余切函数 • sec 正割函数 • csc 余割函数
在MATLAB命令口输入命令:
x=1+2i; y=3-sqrt(17); z=(cos(abs(x+y))-sin(78*pi/180))/(x+abs(y))
其中pi和i都是MATLAB预先定义的变量,分别
代表代表圆周率π和虚数单位。 输出结果是:
z =
-0.3488 + 0.3286i
10/128 MALAB 7.X程序设计
18/128 MALAB 7.X程序设计
第2章 MATLAB 矩阵及其运算
rem与mod的区别
rem(x,y)=x-y.*fix(x./y)
mod(x,y)=x-y.*floor(x./y)
eg: >>x=5;y=3; >>y1=rem(x,y),y2=mod(x,y) >> x=-5;y=3; >>y1=rem(x,y),y2=mod(x,y)
%绝对值 %取复数虚部 %取复数实部 %复数共轭
16/128 MALAB 7.X程序设计
第2章 MATLAB 矩阵及其运算
4. 取整函数 fix(x) 朝零方向取整 floor(x) 朝负无穷大方向取整 ceil(x) 朝正无穷大方向取整 round(x)四舍五入 mod(x,y) rem(x,y)取x/y的余数要求x,y 必须为相同大小的实矩阵或为标量。 eg: x=5.3 x=-5.3 -5.3 -5 0 5 5.3
MATLAB第二章

2 特殊数据判断函数
常用的特殊数据判断函数:
• isinf(A) 返回一个与A同型的数组,该数组元素的 值根据A的相应位置元素的值为无穷大inf时设置为1, 否则为0。 • isnan(A) 返回一个与A同型的数组,该数组元素的 值根据A的相应位置元素的值为NaN 时设置为1,否 则为0。 • isfinite(A) 返回一个与A同型的数组,该数组元素 的值根据A的相应位置元素的值为有限值时设置为1, 否则为0。
关系运算规则
关系运算符的运算法则为: • 1 当两个比较量是标量时,直接比较两数的大 小。若关系成立,关系表达式结果为1,否则 为0。 • 2 当参与比较的量是两个同型的矩阵时,比较 是对两矩阵相同位置的元素按标量关系运算规 则逐个进行,并给出元素比较结果。最终的关 系运算的结果是一个与原矩阵同型的矩阵,它 的元素由0或1组成。
当a=[pi NaN Inf -Inf]时,分析下列 语句的执行结果
• isinf (a) • isnan (a) • isfinite (a)
例 当A=[-6,NaN,Inf,5;-Inf,-pi, eps,0] 时,分析下列语句的执行结果。 • • • • • • • all(A) all(all(A)) any(A) any(any(A)) isnan(A) isinf(A) isfinite(A)
例
建立任意的3×3的矩阵,并求 出能被3整除的元素。
9 -1;-3 -9 0];
A=[1 0 3 ;2
%生成3×3的矩阵A P=rem(A,3)==0
%判断A的元素是否可以被3整除 A(P) %求出被3整除的元素 如果求上述矩阵中能被5整除的元素呢? P=rem(A,5)==0
例 求三阶魔方矩阵中绝对值大于7的元素。 a=magic(3);
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
diag(A,k)
说明: 说明 1.若参数 为m×n阶矩阵 若参数A 阶矩阵,diag函数提取矩阵的对角线元素 参数 取整数 函数提取矩阵的对角线元素,参数 取整数, 若参数 × 阶矩阵 函数提取矩阵的对角线元素 参数k取整数 表示提取第k条对角线元素 缺省时提取主对角线元素,返回值是一个具有 条对角线元素,缺省时提取主对角线元素 表示提取第 条对角线元素 缺省时提取主对角线元素 返回值是一个具有 min(m,n)个元素的列向量 个元素的列向量 2. 若参数 为一具有 个元素的向量 参数 缺省 则diag函数返回值为对角 若参数A为一具有 个元素的向量,参数 缺省,则 为一具有m个元素的向量 参数k缺省 函数返回值为对角 矩阵,其主对角线元素为向量 的元素;若是一个非 整数,则返回值是一个 其主对角线元素为向量A的元素 若是一个非0整数 矩阵 其主对角线元素为向量 的元素 若是一个非 整数 则返回值是一个 n×n(n=m+abs(k))对角阵 其第 条对角线元素为向量 的元素 对角阵,其第 条对角线元素为向量A的元素 × 对角阵 其第k条对角线元素为向量
三角阵的定义: 三角阵的定义
三角阵又进一步分为上三角阵和下三角阵, 三角阵又进一步分为上三角阵和下三角阵,所谓 上三角阵,即矩阵的对角线以下的元素全为0的 上三角阵,即矩阵的对角线以下的元素全为 的 一种矩阵,而下三角阵则是对角线以上的元素全 一种矩阵, 的一种矩阵。 为0的一种矩阵。 的一种矩阵
Matlab中创建对角阵的函数为diag,它 的调用格式:
0 2 0 0 0
0 0 3 0 0
0 0 0 4 0
0 0 0 0 5
创建三角阵的函数为triu,tril,它们的调用格 式格式完全相同:
triu(A,k) tril(A,k)
说明: 说明 1.参数A为被提取的矩阵,参数k取整数表示矩阵A中对角线的序号,返 回值上三角阵, 其元素是矩阵A的第k条对角线以上的元素. 2.Tril与triu类似
用matlab函数创建矩阵
rand —— 随机矩阵 eye —— 单位矩阵 zeros ——全部元素都为0的矩阵 ones ——全部元素都为1的矩阵 [ ]空阵 — matlab允许输入空阵,当一项 操作无结果时,返回空阵。
对角矩阵、伴随矩阵、稀疏矩阵、魔方 矩阵、范德蒙等矩阵的创建,就不一一介 绍了(MATLAB help matrix)。
5. 矩阵的数组运算(点运算)
数组运算指元素对元素的算术运算,与 通常意义上的由符号表示的线性代数矩阵运 算不同
① 数组加减
a+b a-b
对应元素相加减
.∗, , ) ②数组乘除(.∗,./,.\) 数组乘除 .∗
a.∗b — a,b两数组必须有相同的行和列两 数组相应元素相乘。 a=[1 2 3;4 5 6;7 8 9]; b=[2 4 6;1 3 5;7 9 10]; a.*b ans = 2 8 18 4 15 30 49 72 90
a=[1 2 3;4 5 6] x=[2 pi/2;sqrt(3) 3+5i]
3. 矩阵的修改
直接修改 可用↑键找到所要修改的矩阵,用←键移动 到要修改的矩阵元素上即可修改。 指令修改 可以用A(∗,∗)= ∗ 来修改(赋值,见MATLAB help Matrix)。
例如 a=[1 2 0;3 0 5;7 8 9] a =1 2 0 3 0 5 7 8 9 a(3,3)=0 a =1 2 0 3 0 5 7 8 0
102 126 150
※当一个方阵有复数特征值或负实 特征值时,非整数幂是复数阵。
a^0.5 ans =
0.4498 + 0.7623i 0.5526 + 0.2068i 0.6555 -0.3487i 1.0185 + 0.0842i 1.2515 + 0.0228i 1.4844 - 0.0385i 1.5873 - 0.5940i 1.9503 - 0.1611i 2.3134 + 0.2717i
a=[1 2 3;4 5 6;7 8 9]; b=[2 4 6;1 3 5;7 9 10];
a*b ans = 25 55 85
37 85 133
46 109 172
a./b=b.\a —— 给出a,b对应元素间的商. a.\b=b./a a./b=b.\a — 都是a的元素被b的对应元 素除 a.\b=b./a — 都是b的元素被a的对应元 素除
先建立5× 矩阵 矩阵A,然后将A的第一行元素乘 例: 先建立 ×5矩阵 ,然后将 的第一行元素乘 以1,第二行乘以 ,…,第五行乘以 。 ,第二行乘以2, ,第五行乘以5。
A=rand(5), d=diag(1:5),y=d*A
A= 0.2028 0.1987 0.6038 0.2722 0.1988 y= 0.2028 0.3974 1.8114 1.0888 0.9941 0.0153 0.7468 0.4451 0.9318 0.4660 0.0153 1.4936 1.3353 3.7273 2.3300 0.4186 0.8462 0.5252 0.2026 0.6721 0.4186 1.6924 1.5755 0.8106 3.3607 0.8381 0.0196 0.6813 0.3795 0.8318 0.8381 0.0393 2.0438 1.5179 4.1590 0.5028 0.7095 0.4289 0.3046 d = 0.1897 1 0 0 0.5028 0 1.4189 0 1.2867 1.2185 0.9483
a ^ p —a 自乘p次幂(相当于a*a*……*a)
方阵 >1的整数 的整数
对于p的其它值,计算将涉及特征值 和特征向量,如果p是矩阵,a是标量 a^p使用特征值和特征向量自乘到p次 幂;如a,p都是矩阵,a^p则无意义。
a=[1,2,3;4,5,6;7,8,9];a^2 ans =30 66 36 81 42 96
例: a=[1 2 3];b=[4 5 6]; c1=a.\b; c2=b./a c1 = 4.0000 2.5000 2.0000 c2 = 4.0000 2.5000 2.0000
③数组乘方(.^) — 元素对元素的幂 数组乘方
例: a=[1 2 3];b=[4 5 6]; z=a.^2 z= 1.00 4.00 z=a.^b z= 1.00 32.00
9.00
729.00
6. 矩阵的其它运算
inv —— 矩阵求逆 det —— 行列式的值 eig —— 矩阵的特征值 diag —— 对角矩阵
’ —— 矩阵转置 sqrt —— 矩阵开方
P36Байду номын сангаас2—3表
关系运算
关系符号 意义 < 小于 <= 小于或等于 > 大于 >= 大于或等于 == 等于 ~= 不等于
逻辑运算
关系符号 意义 & | ~ 与 或 非
其他逻辑关系函数p36 2-2表
四.矩阵的一些特殊操作
矩阵的变维 a=[1:12];b=reshape(a,3,4) 矩阵的变向 c=zeros(3,4);c(:)=b(:) rot90:逆时针旋转; fliplr:左右翻; flipud:上下翻 矩阵的抽取 diag:抽取主对角线;tril: 抽取主下三角; triu:抽取主上三角 矩阵的扩展
load —— load data —— load data a b ——
即可装载保 存过的所有 变量
mat文件是标准的二进制文件,还可以 ASCII码形式保存。
三、矩阵运算
1. 矩阵加、减(+,-)运算
规则: 相加、减的两矩阵必须有相同的行和列 两矩阵对应元素相加减。 允许参与运算的两矩阵之一是标量。标 量与矩阵的所有元素分别进行加减操作
3.左除与右除运算
若AV=I 则V=A-1 =inv(A) 对于方程 D*X=B inv(D)*D*X=inv(D)*B X=inv(D)*B=D\B (左除,逆矩阵左乘) 对于方程 X*D=B X*D*inv(D)=B*inv(D) X= B*inv(D)=B/D (右除,逆矩阵右乘)
4. 矩阵乘方—— a^n,a^p,p^a
2*x^3+x^2-5*x+1=13 x^3-5*x^2+7=-9 2*x^2+x-1=6 x^3+6*x^2-x-4=0
第二章 MATLAB矩阵运算
—— matlab 具有出色的矩阵运 算能力,占世界上矩阵运算软件 的主导地位
矩阵运算的功能
矩阵命令行的基本操作 数据的保存与获取 矩阵的运算 矩阵的特殊操作 矩阵分解
一、命令行的基本操作
1. 创建矩阵的方法
直接输入法 规则: 1 矩阵元素必须用[ ]括住 2 矩阵元素必须用逗号或空格分隔 3 在[ ]内矩阵的行与行之间必须 用分号分隔
1. 重新排列矩阵函数
Matlab中实现矩阵重新排列的是函数 reshape,其调用格式: Reshape(a,m,n,p,…)
例:对矩阵a进行重新排列,产生的新矩 阵b,大小为2*8;新矩阵c,大小为2*4*2
a=[1 2 4 8;4 5 2 8;12 4 23 5;2 4 1 5]; b=reshape(a,2,8) c=reshape(a,2,4,2) b= c(:,:,2) = c(:,:,1) = 1 4 12 2 2 5 8 8 2 5 4 4 5 5 4 4 4 2 23 1 8 8 5 5
4 23 2 1 1 12 4 2
2. 矩阵的翻转与旋转
matlab提供对矩阵进行翻转与旋转的 函数,它们的调用格式:
rot90(A,k) fliplr(A) flipud(A)
3. 对角阵与三角阵
对角阵的定义: 对角阵的定义
只有对角线上有非0元素的矩阵称为对角矩阵, 只有对角线上有非 元素的矩阵称为对角矩阵, 元素的矩阵称为对角矩阵 对角线上的元素相等的对角矩阵称为数量矩阵, 对角线上的元素相等的对角矩阵称为数量矩阵, 对角线上的元素都为1的对角矩阵称为单位矩阵 的对角矩阵称为单位矩阵。 对角线上的元素都为 的对角矩阵称为单位矩阵。