Matlab教程Ch2(矩阵与数组)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

>> x*y
%矩阵乘法:按照线性代数理论进行
ans =
30 24 18
84 69 54
19
多维数组维间处理的函数
1.reshape 2.size 3.ndims 4.cat 5.permute 6.ipermute 7.shiftdim 8.squeeze
20
应用举例
21
结束语
学好计算机的唯一途径是 你的编程能力与你在计算机上投入的时间成
22
1
第2章 矩阵和数组
2.1 向量 2.2 矩阵 2.3 数组
2
2.1 向量
向量是矢量运算的基础
行向量 列向量
3
向量的构造
1.逐个输入
>>a=[1 3 9 10 15 16]
%采用空格和逗号分隔构成行向量
>>b=[1; 3; 9; 10; 15; 16]
%采用分号隔开构成列向量
1.0000 0
0
0
0 1.0000 0
0
00
1.0000 0
00
0
1.0000
>> X*Y
%矩阵的逆阵是唯一的
ans =
1.0000 0
0
0
0 1.0000 0
0
00
1.0000 0
00
0
1.0000
16
应用4.求特征值和特征向量
>> X=[-2 1 1;0 2 0;-4 1 3];
>> [V D]=eig(X)
矩阵中元素的操作
(1)矩阵A的第r行:A(r,:) (2)矩阵A的第r列:A(:,r) (3)依次提取矩阵A的每一列,将A拉伸为一个列向量:A(:) (4)取矩阵A的第i1~i2行、第j1~j2列构成新矩阵:A(i1:i2, j1:j2) (5)以逆序提取矩阵A的第i1~i2行,构成新矩阵:A(i2:-1:i1,:) (6)以逆序提取矩阵A的第j1~j2列,构成新矩阵:A(:, j2:-1:j1 ) (7)删除A的第i1~i2行,构成新矩阵:A(i1:i2,:)=[ ] (8)删除A的第j1~j2列,构成新矩阵:A(:, j1:j2)=[ ] (9)将矩阵A和B拼接成新矩阵:[A B];[A;B]
2.利用冒号表达式“:”生成向量
>>x=1:2:9
%初值=1,终值=9,步长=2
>>y=1:5
%初值=1,终值=5,默认步长=1
3.利用函数生成向量
>> x=linspace(1, 9, 5)
%初值=1,终值=9,元素数目=5
4
向量的运算
1.点积:dot函数 2.叉积:cross函数
方阵的特征值与特征向量:[V, D]=eig(A)
12
矩阵函数
函数
det diag eig inv lu poly rank svd
功能 计算矩阵所对应的行列式的值 抽取矩阵对角线元素 求特征值和特征向量 求矩阵的逆阵 三角分解 求特征多项式 求矩阵的秩 奇异值分解
13
应用1.求矩阵的行列式的值
V=
-0.7071 -0.2425 0.30ຫໍສະໝຸດ Baidu5
00
0.9045
-0.7071 -0.9701 0.3015
D=
-1 0 0
020
002
17
2.3 数组
数组运算方式是一种元素对元素的运算(不按 照线性代数的规则) ;
除了加、减法的与矩阵相同以外,乘、除、幂 的数组运算符都是通过在标准的运算符前面加 一个圆点来生成。
>> X=[1 2 3 0; 5 6 0 8; 9 0 11 12; 0 14 15 16]; >>det(X) ans = -5464
14
应用2.求矩阵的秩
>> X=[1, 2, 3; 2, 3 -5; 4 7 1]; >> rank(X) ans =
2
15
应用3.求逆矩阵
>> X=[1 2 3 0; 5 6 0 8; 9 0 11 12; 0 14 15 16];
10
例 修改矩阵A中元素的数值
>>A=[1 2 3 4; 5 6 7 8; 9 10 11 12; 13 14 15 16]; >>A(1,1)=0;A(2,2)=A(1,2)+A(2,1);A(4,4)=cos(0); 则矩阵变为: A=
0234 5778 9 10 11 12 13 14 15 1
8
特殊矩阵的建立
函数
eye zeros ones [] rand randperm linspace compan magic
功能
产生单位矩阵 产生全部元素为0的矩阵 产生全部元素为1的矩阵 产生空矩阵 产生均匀分布随机矩阵 产生随机排列 产生线性等分的矩阵 产生伴随矩阵 Magic(魔方)矩阵
9
18
数组运算
>> x=[1 2 3; 4 5 6; 7 8 9];
>> y=[9 8 7; 6 5 4; 3 2 1];
>> x+y
%数组和矩阵的加法规则相同
ans =
10 10 10
10 10 10
10 10 10
>> x.*y
%数组乘法:对应元素相乘
ans =
9 16 21
24 25 24
21 16 9
>> Y=inv(X)
Y=
0.2299 0.0908 0.0351 -0.0717
0.1940 0.0798 -0.0659 0.0095
0.1274 -0.0835 0.0322 0.0176
-0.2892 0.0084 0.0275 0.0377
>>Y*X
%矩阵与其逆阵相乘结果是单位矩阵
ans =
11
矩阵的运算
矩阵加法:A+B
矩阵乘法:A*B
方阵的逆:inv(A)
矩阵除法:x=A\b 或 inv(A)*b 如:方程组Ax=b的解
乘幂运算:^ 矩阵转置: ' (转置运算符)
方阵的行列式:det(A)
矩阵或向量的2-范数:norm( )
矩阵的秩:rank( )
矩阵的维数:size( ) 向量的维数:length( )
用中括号[ ]把所有矩阵元素括起来 同一行的不同数据元素之间用空格或逗号间隔 用分号(;)指定一行结束 可分成几行进行输入,用回车符代替分号 数据元素可以是表达式,系统将自动计算结果
7
例:输入矩阵A、B的值
>>A=[1 2 3 4; 5 6 7 8; 9 10 11 12; 13 14 15 16] >>A=[1, 2,3,4; 5,6,7,8; 9,10, 11, 12; 13, 14, 15, 16] >> A=[1, 2, 3, 4 5, 6, 7, 8 9, 10, 11, 12 13, 14, 15, 16] >>B=[1,sqrt(25),9,13 2,6,10,7*2 3+sin(pi),7,11,15, 4,abs(-8),12,16]

>> a = [1 2 3]; >> b = [4 5 6]; >> c = dot(a, b) >> d = cross(a, b) c= 32 d=
-3 6 -3
5
2.2 矩阵
MATLAB = matrix(矩阵)+ laboratory(实验室)
6
矩阵的构造
通过直接输入矩阵的元素构造矩阵:
相关文档
最新文档