MATLAB中的矩阵与向量运算上课讲义Word文件下载.docx
《MATLAB中的矩阵与向量运算上课讲义Word文件下载.docx》由会员分享,可在线阅读,更多相关《MATLAB中的矩阵与向量运算上课讲义Word文件下载.docx(9页珍藏版)》请在冰豆网上搜索。
点"
.所以,我们要特别注意在求"
乘,除,乘方,三角和指数函数"
时,两种运算有着根本的区别.另外,在执行数组与数组运算时,参与运算的数组必须同维,运算所得的结果数组也是总与原数组同维.
4.2数组的基本运算
在MATLAB中,数组运算是针对多个数执行同样的计算而运用的.MATLAB以一种非常直观的方式来处理数组.
4.2.1点转置和共轭转置
.'
——点转置.非共轭转置,相当于conj(A'
).
>
a=1:
5;
b=a.'
b=
1
2
3
4
5
c=b.'
c=
12345
这表明对行向量的两次转置运算便得到原来的行向量.
'
——共轭转置.对向量进行转置运算并对每个元素取其共轭.如:
d=a+i*a
d=
Columns1through3
1.0000+1.0000i2.0000+2.0000i3.0000+3.0000i
Columns4through5
4.0000+4.0000i5.0000+5.0000i
e=d'
e=
1.0000-1.0000i
2.0000-2.0000i
3.0000-3.0000i
4.0000-4.0000i
5.0000-5.0000i
4.2.2纯量(标量)和数组的四则运算
纯量和数组之间可以进行简单数学运算.如:
加,减,乘,除及其混合运行.
g=[1234
5678
9101112]
g=g-2
g=
-1012
3456
78910
2*g-1
ans=
-3-113
57911
13151719
4.2.3数组间的四则运算
在MATLAB中,数组间进行四则运算时,参与运算的数组必须具有相同的维数,加,减,乘,除运算是按元素与元素的方式进行的.其中,数组间的加,减运算与矩阵的加,减运算要同,运算符为:
"
+"
"
-"
.但是,数组间的乘,除运算与矩阵间的乘,除运算完全不同,运算符号也有差别,数组间的乘,除运算符为:
.*"
./"
或"
.\"
.
1.数组按元素相加,减
h=[1111;
2222;
3333]
g+h%按元素相加
2345
12131415
ans-h%按元素相减
1234
9101112
2*g-h%混合运算
1357
8101214
15171921
2.按元素乘
g.*h
10121416
27303336
3.按元素除
数组间的除法运算符有两个,即左除:
和右除:
它们之间的关系是:
a./b=b.\a
g./h
1.00002.00003.00004.0000
2.50003.00004.10004.0000
3.00003.33333.66674.0000
h.\g
4.2.4幂运算
在MATLAB中,数组的幂运算的运算为:
.^"
表示每一个元素进行幂运算.
g.^2%数组g每个元素的平方
14916
25364964
81100121144
g.^(-1)%数组g的每个元素的倒数
1.00000.50000.33330.2500
0.20000.16670.14290.1250
0.11110.10000.09090.0833
2.^g%以g的每个元素为指数对2进行乘方运算
24816
3264128256
512102420484096
g.^h%以h的每个元素为指数对g中相应元素进行乘方运算
729100013311728
g.^(h-1)
1111
4.2.5数组的指数,对数和开方运算
在MATLAB中,所谓数组的运算实质是是数组内部每个元素的运算,因此,数组的指数,对数和开方运算与标量的运算规则完全是一样的,运算符函数分别为:
exp(),log(),sqrt()等.
a=[134;
265;
324];
c=exp(a)
2.718320.085554.5982
7.3891403.4288148.4132
20.08557.389154.5982
数组的对数,开方运算与数组的指数运算,其方式完全一样,这里不详述.
4.3向量运算
对于一行或一列的矩阵,为向量,MATLAB有专门的函数来进行向量点积,叉积和混合积的运算.
4.3.1向量的点积运算
在高等数学中,我们知道,两向量的点积指两个向量在其中一个向量方向上的投影的乘积,通常用来定义向量的长度.在MATLAB中,向量的点积用函数"
dot"
来实现,其调用格式如下:
C=dot(A,B)——返回向量A与B的点积,结果存放于C中.
C=dot(A,B,DIM)——返回向量A与B在维数为DIM的点积,结果存放于C中.
A=[24531];
B=[38101213];
C=dot(A,B)
C=
137
C=dot(A,B,4)
632503613
4.3.2向量的叉积运算
在高等数学中,我们知道,两向量的叉积返回的是与两个向量组成的平面垂直的向量.在MATLAB中,向量的点积用函数"
cross"
C=cross(A,B)——返回向量A与B的叉积,即:
结果存放于C中.
C=cross(A,B,DIM)——返回向量A与B在维数为DIM的叉积,结果存放于C中.
A=[245];
B=[3810];
C=cross(A,B)
0-54
4.3.3向量的混合运算
D=dot(A,cross(B,C))
D=
41
上例表明,首先进行的是向量B与C的叉积运算,然后再把叉积运算的结果与向量A进行点积运算.
4.4矩阵的基本运算
如果说MATLAB的最大特点是强大的矩阵运算功能,此话毫不为过.事实上,MATLAB中所有的计算都是以矩阵为基本单元进行的.MATLAB对矩阵的运算功能最全面,也是最为强大的.矩阵在形式上与构造方面是等同于前面所述的数组的,当其数学意义却是完全不同的.
矩阵的基本运算包括矩阵的四则运算,矩阵与标时的运算,矩阵的幂运算,指数运算,对数运算,开方运算及以矩阵的逆运算,行列式运算等.
4.4.1矩阵的四则运算
矩阵的四则运算与前面介绍的数组的四则运算基本相同.但也有一些差别.
1.矩阵的加减
矩阵的加,减与数组的加,减是完全相同的,运算时要求两矩阵的大小完全相同.
a=[12;
35;
26];
b=[24;
18;
90];
c=a+b
36
413
116
2.矩阵的相乘
对于矩阵的乘法,从线性代数中,我们知道,要求进行相乘的两矩阵有相同的公共维.如:
b=[241;
890];
c=a*b
18221
46573
52622
设A矩阵为一个阶的矩阵,则要求与之相乘的B矩阵必须是一个阶,得到矩阵是阶的.即,只有当第一个矩阵(左矩阵)的列数等于第二个矩阵(右矩阵)的行数时,两个矩阵的乘积才有意义.
3.矩阵的除法
对于矩阵的除法有两个运算符号,分别为左除符号"
\"
和右除符号"
/"
.矩阵的右除运算速度要慢一点,而左除运算可以避免奇异矩阵的影响.
对于方程,若此方程为超定的方程,则使用除法可以自动找到使的平方最小化的解.若此方程为不定方程,则使用除法运算符至少求得的解至多有rank(A)(矩阵A的秩)个非零元素,而且求得的解是这种类型的解中范数最小的一个.
a=[213420;
57820;
211417;
343138];
b=[10203040]'
;
x=b\a
x=
0.76671.18670.8767
上面方程是超定方程.要注意的:
结果矩阵x是列向量形式.如果,
a=[2134205;
78202114;
17343138];
b=[102030]'
1.62861.25711.10711.0500
上面的方程为不定方程.
4.矩阵与标量间的四则运算
矩阵与标量的四则运算和数组与标量间的四则运算完全相同,即矩阵中的每个元素与标量进行加,减,乘,除四则运算.需要说明的是,当进行除法运算时,标量只能做除数.
5.矩阵的幂运算
矩阵的幂运算与标量的幂运算不同.用符号"
^"
它不是对矩阵的每个元素进行幂运算,而是与矩阵的某种分解有关.
b=[213420;
782021;
173431];
c=b^2
343320741754
355537662631