第二章matlab矩阵运算
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的对角矩阵称为单位矩阵 的对角矩阵称为单位矩阵。 对角线上的元素都为 的对角矩阵称为单位矩阵。