矩阵Word文档下载推荐.docx

上传人:b****2 文档编号:4587096 上传时间:2023-05-03 格式:DOCX 页数:23 大小:50.46KB
下载 相关 举报
矩阵Word文档下载推荐.docx_第1页
第1页 / 共23页
矩阵Word文档下载推荐.docx_第2页
第2页 / 共23页
矩阵Word文档下载推荐.docx_第3页
第3页 / 共23页
矩阵Word文档下载推荐.docx_第4页
第4页 / 共23页
矩阵Word文档下载推荐.docx_第5页
第5页 / 共23页
矩阵Word文档下载推荐.docx_第6页
第6页 / 共23页
矩阵Word文档下载推荐.docx_第7页
第7页 / 共23页
矩阵Word文档下载推荐.docx_第8页
第8页 / 共23页
矩阵Word文档下载推荐.docx_第9页
第9页 / 共23页
矩阵Word文档下载推荐.docx_第10页
第10页 / 共23页
矩阵Word文档下载推荐.docx_第11页
第11页 / 共23页
矩阵Word文档下载推荐.docx_第12页
第12页 / 共23页
矩阵Word文档下载推荐.docx_第13页
第13页 / 共23页
矩阵Word文档下载推荐.docx_第14页
第14页 / 共23页
矩阵Word文档下载推荐.docx_第15页
第15页 / 共23页
矩阵Word文档下载推荐.docx_第16页
第16页 / 共23页
矩阵Word文档下载推荐.docx_第17页
第17页 / 共23页
矩阵Word文档下载推荐.docx_第18页
第18页 / 共23页
矩阵Word文档下载推荐.docx_第19页
第19页 / 共23页
矩阵Word文档下载推荐.docx_第20页
第20页 / 共23页
亲,该文档总共23页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

矩阵Word文档下载推荐.docx

《矩阵Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《矩阵Word文档下载推荐.docx(23页珍藏版)》请在冰点文库上搜索。

矩阵Word文档下载推荐.docx

1.2符号矩阵的生成

在MATLAB中输入符号向量或者矩阵的方法和输入数值类型的向量或者矩阵在形式上很相像,只不过要用到符号矩阵定义函数sym,或者是用到符号定义函数syms,先定义一些必要的符号变量,再像定义普通矩阵一样输入符号矩阵。

符号矩阵的输入:

定义矩阵为字符串,或先定义符号变量,再输入矩阵数据。

例如:

输出符号矩阵

1.用命令sym定义矩阵:

这时的函数sym实际是在定义一个符号表达式,这时的符号矩阵中的元素可以是任何的符号或者是表达式,而且长度没有限制,只是将方括号置于用于创建符号表达式的单引号中。

如下例:

A=sym('

[ab;

cd]'

)%输出符号矩阵A

[a,b]

[c,d]

2.用命令syms定义矩阵

先定义矩阵中的每一个元素为一个符号变量,而后像普通矩阵一样输入符号矩阵。

symsabcd%输出符号矩阵A

A=[ab;

cd]

1.3特殊矩阵的生成

命令全零阵

函数zeros

格式B=zeros(n)%生成n×

n全零阵

B=zeros(m,n)%生成m×

B=zeros([mn])%生成m×

B=zeros(d1,d2,d3…)%生成d1×

d2×

d3×

…全零阵或数组

B=zeros([d1d2d3…])%生成d1×

B=zeros(size(A))%生成与矩阵A相同大小的全零阵

命令单位阵

函数eye

格式Y=eye(n)%生成n×

n单位阵

Y=eye(m,n)%生成m×

Y=eye(size(A))%生成与矩阵A相同大小的单位阵

命令全1阵

函数ones

格式Y=ones(n)%生成n×

n全1阵

Y=ones(m,n)%生成m×

Y=ones([mn])%生成m×

Y=ones(d1,d2,d3…)%生成d1×

…全1阵或数组

Y=ones([d1d2d3…])%生成d1×

Y=ones(size(A))%生成与矩阵A相同大小的全1阵

重点掌握:

生成m阶单位方阵:

eye(m)

生成m×

n阶单位矩阵:

eye(m,n)

生成m阶全1方阵:

ones(m)

n阶全1矩阵:

ones(m,n)

生成m阶全0方阵:

zeros(m)

n阶全0矩阵:

zeros(m,n)

clear

E=eye(2,3)%生成2行3列的单位方阵

E=

100

010

B=ones(2,3)%生成2行3列的全1矩阵

B=

111

1.4向量、矩阵的访问与赋值

更改、增加或删除向量的元素。

x=[3745]%输出4维行向量x

x=

3745

x(3)=2%更改第三个元素

3725

注:

x(i)表示向量x的第i个分量。

x(6)=10%加入第六个元素(给第六个元素赋值)

3725010

x(4)=[]%删除第四个元素

372010

在对第六个元素进行赋值时,若未曾对第五个元素赋值,则默认为零。

上述运算,结果均返回为变量x。

MATLAB亦可取出向量的一个元素或一部份来做运算。

x=[1234];

y=[24680];

x

(2)*3+y(4)%取出x的第二个元素和y的第四个元素来做运算

ans=

14

y(2:

4)-1%取出y的第二至第四个元素来做运算

357

在上例中,2:

4代表一个由2、3、4组成的向量,同样的方法可用于产生公差为1的等差数列,例如:

z=7:

16

z=

78910111213141516

若不希望公差为1,则可将所需公差直接至于4与13之间,例如:

w=7:

3:

16%公差为3的等差数列

w=

7101316

同样地,我们可以对矩阵进行各种处理。

5678;

9101112])%输出一个3行4列的矩阵

A(2,3)=5%改变第二列,第三行的元素值

[5,6,5,8]

A(i,j)表示矩阵A的(I,j)元,括号中,逗号前面表示行,后面表示列

A(2,:

)%第2行的所有元素

[5,6,5,8]

B=A(2,1:

3)%取出部份矩阵B

[5,6,5]

A=[AB'

]%将B转置后以列向量并入A

[1,2,3,4,5]

[5,6,5,8,6]

[9,10,11,12,5]

矩阵合并,若按照行的形式合并,则用;

隔开;

若按列的形式合并,则用空格或逗号隔开,例如:

A(:

2)=[]%删除第二列(:

代表所有行)

[1,3,4,5]

[5,5,8,6]

[9,11,12,5]

A=[A;

4321]%加入第四行

[4,3,2,1]

A是以一维数组的形式存取的,故默认最后一行。

C=[6,7,8,9]

C=

6789

D=[5,5;

6,6;

7,7;

8,8;

]

D=

55

66

77

88

E=[D(:

1),C'

D(:

2)]%D第1列和第2列之间插入列向量C

565

676

787

898

A([14],:

)=[]%删除第一和第四行(:

代表所有列)

表3-1矩阵访问与赋值常用的相关指令格式

指令格式

指令功能

x(i)

向量x的第i各分量

A(i)

矩阵A作为一维数组的第i各元素

A(i,j)

矩阵A的(i,j)元

A(:

矩阵A以一维数组的形式输出

A(i,:

矩阵A的第i行

A(i:

j,:

矩阵A的第i行到第j行元素组成的子矩阵

j)

矩阵A的第j列

2矩阵运算

2.1加、减运算

运算符:

“+”和“-”分别为加、减运算符。

运算规则:

对应元素相加、减,即按线性代数中矩阵的“十”,“一”运算进行。

矩阵的加法:

A+B

矩阵的减法:

A-B

A=[1,1,1;

1,2,3;

1,3,6]

B=[8,1,6;

3,5,7;

4,9,2]

Z=A+B

Z=A-B

结果显示:

A+B=

927

4710

5128

A-B=

-70-5

-2-3-4

-3-64

注意:

矩阵加法与减法运算时,参加运算的矩阵必须是同型矩阵,其运算规则是对应元素的加减运算;

2.2乘法

*

按线性代数中矩阵乘法运算进行,即放在前面的矩阵的各行元素,分别与放在后面的矩阵的各列元素对应相乘并相加。

1.矩阵的乘法:

两个矩阵相乘A*B

X=[2345;

1221]

Y=[011;

110;

001;

100]

Z=X*Y

结果显示为:

Z=

856

333

矩阵A,B相乘,必须满足A的列数等于B的行数;

2.矩阵的数乘:

数乘矩阵k*A

上例中:

a=2*X

则显示:

a=

46810

2442

向量的点乘(内积):

维数相同的两个向量的点乘。

数组乘法:

A.*B表示A与B对应元素相乘。

3.向量点积

函数dot

格式C=dot(A,B)%若A、B为向量,则返回向量A与B的点积,A与B长度相同;

若为矩阵,则A与B有相同的维数。

C=dot(A,B,dim)%在dim维数中给出A与B的点积

例>

X=[-102]

Y=[-2-11]

Z=dot(X,Y)

Z=

4

还可用另一种算法:

sum(X.*Y)

ans=

4

4.向量叉乘

在数学上,两向量的叉乘是一个过两相交向量的交点且垂直于两向量所在平面的向量。

在Matlab中,用函数cross实现。

函数cross

格式C=cross(A,B)%若A、B为向量,则返回A与B的叉乘,即C=A×

B,A、B必须是3个元素的向量;

若A、B为矩阵,则返回一个3×

n矩阵,其中的列是A与B对应列的叉积,A、B都是3×

n矩阵。

C=cross(A,B,dim)%在dim维数中给出向量A与B的叉积。

A和B必须具有相同的维数,size(A,dim)和size(B,dim)必须是3。

计算垂直于向量(1,2,3)和(4,5,6)的向量。

>

a=[123];

b=[456];

c=cross(a,b)

c=

-36-3

可得垂直于向量(1,2,3)和(4,5,6)的向量为±

(-3,6,-3)

2.3除法运算

Matlab提供了两种除法运算:

左除(\)和右除(/)。

一般情况下,x=a\b是方程a*x=b的解,而x=b/a是方程x*a=b的解。

例:

a=[123;

426;

749]

b=[4;

1;

2]

x=a\b

x=

-1.5000

2.0000

0.5000

如果a为非奇异矩阵,则a\b和b/a可通过a的逆矩阵与b阵得到:

z=inv(a)*b

b/a=b*inv(a)

数组除法:

A./B表示A中元素与B中元素对应相除。

2.4矩阵乘方

^矩阵的幂:

A^m

当A为方阵,P为大于0的整数时,A^P表示A的P次方,即A自乘P次;

P为小于0的整数时,A^P表示A-1的P次方。

2.5矩阵转置(A’)

若矩阵A的元素为实数,则与线性代数中矩阵的转置相同。

若A为复数矩阵,则A转置后的元素由A对应元素的共轭复数构成。

若仅希望转置,则用如下命令:

A.′。

2.6方阵的行列式

函数det

格式d=det(X)%返回方阵X的多项式的值

例1-42

A=[123;

456;

789]

789

D=det(A)

0

在方阵的前提下,才可以作行列式运算。

2.7逆

命令逆

函数inv

格式Y=inv(X)%求方阵X的逆矩阵。

若X为奇异阵或近似奇异阵,将给出警告信息。

矩阵的逆:

A^-1或inv(A)(A*在M-book里完成)

例求

的逆矩阵

方法一

A=[123;

221;

343];

Y=inv(A)或Y=A^(-1)

则结果显示为

Y=

1.00003.0000-2.0000

-1.5000-3.00002.5000

1.00001.0000-1.0000

方法二:

由增广矩阵

进行初等行变换

B=[1,2,3,1,0,0;

2,2,1,0,1,0;

3,4,3,0,0,1]

C=rref(B)%化行最简形

X=C(:

4:

6)%取矩阵C中的A^(-1)部分

显示结果如下:

1.0000001.00003.0000-2.0000

01.00000-1.5000-3.00002.5000

001.00001.00001.0000-1.0000

X=

例1-44

A=[21-1;

212;

1-11];

formatrat%用有理格式输出

D=inv(A)

1/301/3

01/3-2/3

-1/31/30

在方阵的前提下,才可以作逆运算。

2.8矩阵的迹

函数trace

格式b=trace(A)%返回矩阵A的迹,即A的对角线元素之和。

2.9特殊运算

生成矩阵的行数与列数:

size()结果是一个2维数组,第一个表示行数,第二个表示列数

生成对角矩阵:

diag(a)a是主对角线上元素所组成的向量

生成矩阵的对角元素:

diag(A)A是矩阵

生成上三角矩阵:

triu(A)A是矩阵

生成下三角矩阵:

tril(A)A是矩阵

symsabcdefghi

A=[abc;

def;

ghi]%输出符号矩阵A

[a,b,c]

[d,e,f]

[g,h,i]

size(A)%A的行数与列数

33

B=diag(A)%矩阵A主对角线上的元素

a

e

i

C=triu(A)%生成上三角形矩阵

[0,e,f]

[0,0,i]

1.矩阵对角线元素的抽取

函数diag

格式X=diag(v,k)%以向量v的元素作为矩阵X的第k条对角线元素,当k=0时,v为X的主对角线;

当k>

0时,v为上方第k条对角线;

当k<

0时,v为下方第k条对角线。

X=diag(v)%以v为主对角线元素,其余元素为0构成X。

v=diag(X,k)%抽取X的第k条对角线元素构成向量v。

k=0:

抽取主对角线元素;

k>

0:

抽取上方第k条对角线元素;

k<

0抽取下方第k条对角线元素。

v=diag(X)%抽取主对角线元素构成向量v。

如:

v=[123]

x=diag(v,-1)

0000

1000

0200

0030

v=diag(A,1)

v=

2

6

2.上三角阵和下三角阵的抽取

函数tril%取下三角部分

格式L=tril(X)%抽取X的主对角线的下三角部分构成矩阵L

L=tril(X,k)%抽取X的第k条对角线的下三角部分;

k=0为主对角线;

0为主对角线以上;

0为主对角线以下。

函数triu%取上三角部分

格式U=triu(X)%抽取X的主对角线的上三角部分构成矩阵U

U=triu(X,k)%抽取X的第k条对角线的上三角部分;

如:

A=ones(4)%产生4阶全1阵

1111

L=tril(A,1)%取下三角部分

L=

1100

1110

U=triu(A,-1)%取上三角部分

U=

0111

0011

2.10符号矩阵运算

1.符号矩阵的四则运算

Matlab6.x抛弃了在4.2版中为符号矩阵设计的复杂函数形式,把符号矩阵的四则运算简化为与数值矩阵完全相同的运算方式,其运算符为:

加(+)、减(-)、乘(×

)、除(/、\)等或:

符号矩阵的和(symadd)、差(symsub)、乘(symmul)。

;

C=B-A

D=a\b

x-1/x1-1/(x+1)

x+2-1/(x+2)-1/(x+3)

D=

-6*x-2*x^3-7*x^21/2*x^3+x+3/2*x^2

6+2*x^3+10*x^2+14*x-2*x^2-3/2*x-1/2*x^3

2.其他基本运算

符号矩阵的其他一些基本运算包括转置('

)、行列式(det)、逆(inv)、秩(rank)、幂(^)和指数(exp和expm)等都与数值矩阵相同

3.将数值矩阵转化为符号矩阵

函数sym

格式B=sym(A)%将A转化为符号矩阵B

例1-59

A=[2/3,sqrt

(2),0.222;

1.4,1/0.23,log(3)]

0.66671.41420.2220

1.40004.34781.0986

B=sym(A)

[2/3,sqrt

(2),111/500]

[7/5,100/23,4947709893870346*2^(-52)]

【实验内容】

例3-1:

输出矩阵

,计算

(1)A的转置;

(2)A+2B;

(3)6BA;

(4)

(5)

(6)

(7)删除A第一行,将B的第二列的转置加到A的第一行于第二行中间.

相应的matlab代码及运算结果如下:

clear

A=[311;

123]%输出矩阵A

311

212

B=[11-1;

2-10;

101]%输出矩阵B

11-1

2-10

101

A'

%A的转置

321

112

A+2*B%A+2B

53-1

6-12

325

6*B*A%6BA

2400

2460

241824

A^2%A的平方

1268

10710

10914

det(A)%A的行列式

-4

inv(A)%A的逆矩阵

0.25000.2500-0.2500

1.0000-2.00001.0000

-0.75001.2500-0.2500

formatrat

A^-1%A的逆矩阵

1/41/4-1/4

1-21

-3/45/4-1/4

A(1,:

)=[]%删除A第一行

B1=B(:

2)'

%取出B的第二列

B1=

1-10

A=[A(1,:

);

B;

A(2,:

)]%将B1加到A的第一行于第二行中间.

例3-2:

生成3×

3单位矩阵,零矩阵,元素全为1的矩阵.

eye(3)

010

001

A=zeros(3)

000

B=ones(3)

【练习与思考】

1.计算

.(CHAP42(4))

2.已知

,计算

.

3.求矩阵

的逆矩阵.(CHAP420(5))

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2