1矩阵的生成
2矩阵的修改
3特殊矩阵
4矩阵基本运算
5矩阵高级运算
6求解线性方程组
lecture_03_矩阵及其运算
内
容
提
纲
重点难点
矩阵的生成,
矩阵基本运算
作业:见最后页
(cha.3)
Next:cha.6
1矩阵的生成
矩阵主要有数值矩阵、符号矩阵、特殊矩阵。
本节主要介绍生成实数数值矩阵的几种方法。
1.1 由命令窗口直接输入
同一行中不同元素用逗号(,)或用空格符来分隔、
空格个数不限;不同行用分号(;)分隔或者分行输入
;所有元素置于一方括号([ ])内。
矩阵元素可以是任何matlab
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
达式,可以是实数 ,
也可以是复数,复数可用特殊函数i,j 输入
a=[1 2 3;4 5 6]
x=[2 pi/2;sqrt(3) 3+5i]
%例1-1 x = [1 2 3 4;2 3 4 5;3 4 5 6]
>> A=[1 2 3
4 5 6
2 3 4]
x =
1 2 3 4
2 3 4 5
3 4 5 6
只要是赋过值的变量,不管是否在屏幕上显示过,都存储在
工作空间中,以后可随时显示或调用。
变量名尽可能不要重复,否则会覆盖。
当一个指令或矩阵太长时,可用•••续行
注意:
1.2 由m文件生成
调用: run ‘…’ %适用于大型矩阵,便于修改
function x=f0302
x=[ 456 468 873 2 579 55
21 687 54 488 8 13
65 4567 88 98 21 5
456 68 4589 654 5 987
5488 10 9 6 33 77]
存为f0302.m >> f0302
x =
456 468 873 2 579 55
21 687 54 488 8 13
65 4567 88 98 21 5
456 68 4589 654 5 987
5488 10 9 6 33 77
1.3 由文本文件生成
txt文件中不含变量名称,文件名x为矩阵变
量名,每行数值个数必须相等。
调用:load ‘d:\...’
例1-3
load test.txt
test
test =
1.1000 1.2000
1.3000 1.4000
2.1 部分扩充
D=[A;B C]
2 矩阵的修改_1
%例3-4
A=[1 2 3 4; 5 6 7 8];
B=eye(2);
C=zeros(2);
D=[A;B C]
A为原矩阵,B,C中包含要扩
充的元素,D为扩充后的矩阵
2.2 部分删除
A(:,n)=[]; A(m,:)=[]
2.3 部分修改
A(m,n)=a; A(m,:)=[a b …]; A(:,n)=[ a; b; …]
%例3-5
A = [1 2 3 4;5 6 7 8];
A(:,2)=[]
A =
1 3 4
5 7 8
结果:
%例3-6
A = [1 2 3 4;5 6 7 8];
A(:,2)=[10; 11]
A =
1 10 3 4
5 11 7 8
结果:
2.4 结构改变
1 左右翻转 fliplr(A) 2 上下翻转 flipud(A)
3 逆时针旋转rot90(A,k); 4 平铺矩阵 B=repmat(A,m,n)
%例1-7
A = [1 2 3 4;5 6 7 8];
fliplr(A)
%例1-8
A = [1 2 3 4;5 6 7 8];
flipud(A)
%例1-9
A = [1 2 3 4;5 6 7 8];
rot90(A)
ans =
4 3 2 1
8 7 6 5
ans =
5 6 7 8
1 2 3 4
ans =
4 8
3 7
2 6
1 5
例将一副图片进行左右翻转,上下翻转,并显示出来
imagechange.m
2.6 矩阵元素的数据变换
1 取整数 floor; ceil; round; fix
%例1-11
A = [1 2; 3 4];
B=repmat(A,3,2)
B =
1 2 1 2
3 4 3 4
1 2 1 2
3 4 3 4
1 2 1 2
3 4 3 4
结果:
%例1-14
A=3*rand(2)
B1=floor(A)
B2=ceil(A)
B3=round(A)
B4=fix(A)
A =
2.8504 1.8205
0.6934 1.4579
B1 =
2 1
0 1
B2 =
3 2
1 2
B3 =
3 2
1 1
B4 =
2 1
0 1
floor 按 方向取整; ceil 相反
round按四舍五入取整;fix按离0近的方向取整
2 有理数形式[n,d]=rat (A)
3 余数 B = rem (A, x)
A=n./d
矩阵A除以模数x后的余数
3 特殊矩阵
3.1 单位阵 eye
调用格式:A=eye(n); B=eye(m,n); C=eye(size(A))
%例3-17
A=[1 2 3; 2 3 4];
B=eye(size(A))
C=eye(3)
B =
1 0 0
0 1 0
C =
1 0 0
0 1 0
0 0 1
表示将矩阵A表示为两个整数矩阵相除,
2 1矩阵 ones 和零矩阵 zeros
调用格式:ones(n);ones(m,n);ones([m,n]);ones(size(A))
zeros(n);zeros(m,n);zeros([m,n]);zeros(size(A))
%例3-18
A=[1 2 3; 2 3 4];
B= ones(size(A))
C=zeros(size(A))
D=ones(3)
E=zeros([3,2])
B =
1 1 1
1 1 1
C =
0 0 0
0 0 0
D =
1 1 1
1 1 1
1 1 1
E =
0 0
0 0
0 03 随机阵 rand;randn
调用格式:rand;rand(n);rand(m,n);rand([m,n]);rand(size(A))
randn;randn(n);randn(m,n);randn([m,n]);randn(size(A))
零均值单位方差正态分布的随机矩阵
5 魔方阵 magic
%例3-20
A=[1 2 3; 2 3 4];
B= rand(size(A))
%例3-21
m=10;
n=15;
x=m+(n-m)*rand(3)
%例3-22
A=[1 2 3; 2 3 4]
B= randn(size(A))
B =
0.7621 0.0185 0.4447
0.4565 0.8214 0.6154
x =
13.9597 10.8813 14.5845
14.6091 12.0285 12.0514
13.6910 14.6773 14.4682
B =
-1.6656 0.2877 1.1909
0.1253 -1.1465 1.1892
%例3-23 生成均值为0.5,方差为0.05的3阶矩阵
mu=0.5;
sigma=0.05;
x=mu+sqrt(sigma)*randn(3)
x =
0.4916 0.4583 0.9882
0.5732 0.6623 0.4695
0.5391 0.3684 0.5255
%例3-24
M=magic(3)
M =
8 1 6
3 5 7
4 9 2
6 对角阵 diag
调用格式:A=diag(v,k);B=diag(v);v=diag(A,k)
%例3-25
v=[1 2 3];
A1=diag(v,-1)
A2=diag(v,0)
A1 =
0 0 0 0
1 0 0 0
0 2 0 0
0 0 3 0
A2 =
1 0 0
0 2 0
0 0 3
以向量v元素作为矩阵A的第k条对角线元素。当k=0时,v为
A的主对角线;当k>0时,v为上方第k条对角线元素,反之,
下方第k条对角线元素。
v=diag(A,k)表示抽取A元素的第k条对角线元素构成向量v,k
的含义同上。
4 矩阵基本运算
4.1 加、减运算+ -
相加、减的两矩阵必须有相同的行和列,两矩阵对应元
素相加减。
A=[1 2;3 4];
B=[5 6 ;7 8];
x1=A+B
x2=A-B
x1 =
6 8
10 12
x2 =
-4 -4
-4 -4
4.2 乘法运算
1 两个矩阵相乘 *
A与B相乘,A矩阵的列数必须等于B矩阵的行数
2 矩阵的数乘
例3-31
A=[1 2 3;4 5 6];
B=[5 6 ;7 8;9 10];
X=A*B
X =
46 52
109 124
矩阵与标量的运算(+、-、×、/)
规则:矩阵中每个元素与该标量进行运算。
举例:a=[1 2; 3 4]
a+2=
a -2=
a*2=
a/2=
>> a+2
ans =
3 4
5 6
>> a*2
ans =
2 4
6 8
42
32
22
12
41
31
21
11
32
22
12
31
21
11
434241
333231
232221
131211
c
c
c
c
c
c
c
c
b
b
b
b
b
b
aaa
aaa
aaa
aaa
A*B
3 矩阵点乘 .*
例3-33
A=[1 2 3; 4 5 6];
B=[2 2 2;2 2 2];
C=A.*B
ab —— a,b两数组必须有相同的行和列两数组相应
元素相乘。
C =
2 4 6
8 10 12
4.3 除法运算
1 左除(\)和右除(/)
x=A\b是方程A*x =b的解,而x=b/A是方程x*A=b的解
A=[1 0 3;4 13 6;7 4 9];b=[4;7;1];C=A\b
2 矩阵点除 B./A
4.4 乘方运算
1 矩阵乘方^
相同维数的矩阵A和B,B./表示矩阵B中的元素除以矩阵A中的
对应元素,结果矩阵的维数不变
%例3-43
A=[1 2 3;4 5 6];
B=[7 4 9;4 7 1];
C=B./A
C =
7.0000 2.0000 3.0000
1.0000 1.4000 0.1667
当A为方阵,P为大于0的整数时,A^P表示A的P次
方,即A自乘P次;P为小于0的整数时,A^P表示A-1
的|P|次方
2 矩阵的数量乘方 .^
矩阵乘方(.^) — 元素对元素的幂
例:
a=[1 2 3];b=[4 5 6];
z=a.^2
z =
1.00 4.00 9.00
z=a.^b
z =
1.00 32.00 729.00
A=[1 2;3 4];
B=A^2
C=A^-2
B =
7 10
15 22
C =
5.5000 -2.5000
-3.7500 1.7500
4.6 矩阵转置 ′
矩阵a 的转置用a′表示。
对于复数矩阵的转置采用Hermit转置,即首先对矩阵元素进
行转置,然后再逐项取其共轭数值。
举例:a=[2 2+i; 4 1-i]
A=a ′
A =
2.0000 4.0000
2.0000 - 1.0000i 1.0000 + 1.0000i
4.7 方阵的行列式 d=det(A)
例3-52
A=[1 1 0;0 0 2;0 5 -1];
D= det(A)
5 矩阵高级运算
矩阵大小
查询矩阵大小的命令:
whos:显示存在的变量及其大小。
size(A):返回矩阵A的行数和列数。
length(A):返回矩阵A的最大行、列数。
size命令调用格式:[m,n]=size(A)
其中m,n分别为A矩阵的行数和列数。
length命令调用格式:n=length(A)
当A为数组时返回的n为A数组的元素个数;当A为矩阵
时则返回A的行、列数的最大值;
5.1方阵的逆矩阵 inv(A)
例3-54
A=[2 1 -1;2 1 2;1 -1 1];
format rat %用有理格式输出
B=inv(A)
5.4 矩阵的秩 rank (A)
%例3-59
A=[1 2 3;4 5 6];
r=rank (A)
6 求解线性方程组
线性方程组的求解可分为两类:
求方程组唯一解(特解)
求方程组无穷解(通解)
通过系数矩阵的秩r(rank)来判断: (n为未知变量个数))
若r =n,有唯一解;此方程成为“恰定”方程
若r
n,则给出最小二乘意义上的解)。此方程成为“欠定”方
程
线性方程组的无穷解 =对应齐次方程组的通解+非齐次方程组
的一个特解。
1.恰定方程组的解
方程ax=b(a为非奇异)
x=a-1 b
矩阵逆
两种解:
x=inv(a)b — 采用求逆运算解方程
x=a\b — 采用左除运算解方程
方程ax=b
a=[1 2;2 3];b=[8;13];
x=inv(a)*b x=a\b
x = x =
2.00 2.00
3.00 3.00
32
21
2
1
x
x
13
8
=
a x = b
例: x1+2x2=8
2x1+3x2=13
例、用一个简单命令求解线性方程
3x1+ x2 - x3 = 3.6
x1+2x2+4x3 = 2.1
-x1+4x2+5x3 = -1.4
A=[3 1 -1;1 2 4;-1 4 5];
b=[3.6;2.1;-1.4];
Rank(A)
x=A\b
=
1.4818
-0.4606
0.3848
ans =
3
x=inv(A)*b
=
1.4818
-0.4606
0.3848
2 求逆法 AX=b
=>X=inv(A)*b (方法2)
2.超定方程组的解
方程 ax=b ,m
分析
定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析
已知电路如图所示,当Us=10V,求Ube,I7,Ude
I7
I6
I4
I3
I1
解:1)建模
设节点电压为变量,根据电路理论,独立节点为Ub,Uc.
各支路电流均用这电压来表示
6
6
54
4
7
7
3
3
21
1
R
U
I
RR
U
I
R
U
I
R
UU
I
RR
UU
I
cc
bcbbs
对b点和c点列节点电流方程:
643731 , IIIIII
将上述各式代入化简,得
0)
111
(
1
1
)
111
(
65433
2137213
cb
s
cb
U
RRRR
U
R
RR
U
U
R
U
RRRR
1 2
0
s
s
U
R RI
3 1 2 7 3
3 3 4 5 6
1 1 1 1
1 1 1 1
R R R R R
G
R R R R R
b
c
U
U
U
sIUG
所以
7
7
54
5 ,,
R
U
IU
RR
R
UUUU bcdecbbc
r1=2;r2=4;r3=4;r4=4;r5=2;r6=12;r7=12;us=10
G=[1/(r1+r2)+1/r3+1/r7,-1/r3;-
1/r3,1/r3+1/(r4+r5)+1/r6];
Is=[us/(r1+r2);0]
U=G\Is;
ubc=U(1)-U(2),ude=U(2)*r5/(r4+r5),i7=U(1)/r7
程序代码分析
程序运行结果
ubc =
2.2222
ude =
0.7407
i7 =
0.3704
上机练习
题
快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题
练习1:设矩阵
3 1 1 1 1 -1
A= 2 1 2 B= 2 -1 0
1 2 3 1 -1 1
求 (1)2A+B;(2)4A2-3B2;(3)AB;
(4)BA;(5)AB-BA;
练习2:设二阶矩阵A,B,X,满足X-2A=B-X
其中 2 -1 0 -2
A= -1 2 B= -2 0
求矩阵X
练习3:求解线性方程组
2x1-3x2+2x4=8
x1+5x2+2x3+x4=2
3x1-x2+x3-x4=7
4x1+x2+2x3+2x4=12
Thank you very much!
See you next time!