011010数组与矩阵第二章.docx

上传人:b****9 文档编号:25805353 上传时间:2023-06-15 格式:DOCX 页数:20 大小:19.04KB
下载 相关 举报
011010数组与矩阵第二章.docx_第1页
第1页 / 共20页
011010数组与矩阵第二章.docx_第2页
第2页 / 共20页
011010数组与矩阵第二章.docx_第3页
第3页 / 共20页
011010数组与矩阵第二章.docx_第4页
第4页 / 共20页
011010数组与矩阵第二章.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

011010数组与矩阵第二章.docx

《011010数组与矩阵第二章.docx》由会员分享,可在线阅读,更多相关《011010数组与矩阵第二章.docx(20页珍藏版)》请在冰豆网上搜索。

011010数组与矩阵第二章.docx

011010数组与矩阵第二章

01数组与矩阵

1数组构造和数组元素的访问

1.1数组构造

(1)直接构造一维数组;

调用格式为:

],,,[21naaaAL=

(2)直接构造nm´数组;

调用格式为:

],,,;;,,,;,,,[212222111211mnmmnnaaaaaaaaaBLLLL=

(3)冒号法构造一维数组;

调用格式为:

A=初值:

增量:

终值

(4)函数法构造一维数组.

调用格式为:

A=linspace(初值,终值,元素个数)

1.2数组元素的访问

(1)访问一维数组A中的第i个元素;

调用格式为:

A(i)

(2)访问数组A中第i行;

调用格式为:

A(i,:

(3)访问数组A中第j列;

调用格式为:

A(:

,j)

(4)访问数组A中第i行第j列的元素;

调用格式为:

A(i,j)

(5)数组按列拉长;

调用格式为:

A(:

(6)数组(向量)的长度;

调用格式为:

length(A)

(7)数组A所有元素之和.

调用格式为:

sum(A)

例1构造一个1到10由10个自然数组成的数组A(要求直接构造,冒号法构造,函数法构造),并求数组A所有元素之和.

【matlab命令1】

>>A=[1,2,3,4,5,6,7,8,9,10]

>>sum(A)

【输出结果】

A=

12345678910

ans=

55

【matlab命令2】

>>A=1:

1:

10,sum(A)

【matlab命令3】

>>A=linspace(1,10,10),sum(A)

例2已知二维数组

ú

987

654

321

A

(1)访问第2行第1列的元素;

(2)访问第2行;

(3)用命令算出数组的长度.

【matlab命令】

>>A=[1,2,3;4,5,6;7,8,9]

>>A2_1=A(2,1)

>>A2=A(2,:

>>A_length=length(A(:

))

【输出结果】

A=

123

456

789

A2_1=4

A2=

456

A_length=

9

说明:

ans是默认输出变量.变量是由字母、数字和下划线组成,最多31个字符.

2数组的运算

设],,,[21naaaAL=,],,,[21nbbbBL=.

2.1数组的加减

(1)数组的加法:

],,,[2211nnbababaBA+++=+L

调用格式为:

A+B

(2)数组减法:

],,,[2211nnbababaBA---=+L

调用格式为:

A-B

2.2数组的乘除、乘方和转置

(1)数组乘法:

],,,[*2211nnbababaBAL=.

调用格式为:

BA*.

(2)数组除法“.\”左除:

]/,,/,/[\2211nnabababBAL=.

“./”右除:

]/,,/,/[/2211nnbababaBAL=.

调用格式为:

BA\.BA/.

(3)数组乘方:

],,,[^21

21

nb

n

bb

aaaBAL=.

调用格式为:

BA^.

(4)数组转置:

行列互换

调用格式为:

A'

说明:

以上运算中要求A、B两个数组必须同阶.

例3已知二维数组ú

û

8765

4321

A,ú

û

3333

2222

B,求(1)A+B(2)5*A(3)A.*B(4)A.\B(5)A./B(6)A.^B

(7)A'

【matlab命令】

>>A=[1,2,3,4;5,6,7,8];

>>B=[2,2,2,2;3,3,3,3];

>>a1=A+B

>>a2=5*A

>>a3=A.*B

>>a4=A.\B

>>a5=A./B

>>a6=A.^B

>>a7=A'

【输出结果】

a1=

3456

891011

a2=

5101520

25303540

a3=

2468

15182124

a4=

2.00001.00000.66670.5000

0.60000.50000.42860.3750

a5=

0.50001.00001.50002.0000

1.66672.00002.33332.6667

a6=

14916

125216343512

a7=

15

26

37

48

说明:

命令“A=[1,2,3,4;5,6,7,8];”中,尾部的分号表示不显示结果.

例4已知8,6,5.0-=x,求xxy32

+=的值.

【matlab命令】

>>x=[-0.5,6,8];

>>y=x.^2+3*x

【输出结果】

y=

-1.250054.000088.0000

3矩阵构造和矩阵元素的操作

3.1矩阵构造

(1)直接构造

与数组构造一样

(2)构造特殊矩阵

产生一个m行n列零矩阵.

调用格式为:

b=zeros(m,n)

产生一个m行n列全为1的矩阵.

调用格式为:

c=ones(m,n)

产生一个m行n列的单位矩阵.

调用格式为:

d=eye(m,n)

产生一个0-1均匀分布的m行n列的随机阵.

调用格式为:

d=rand(m,n)

3.2矩阵元素的操作

(1)矩阵A中第i行第j列上的元素用0替换.

调用格式为:

A(i,j)=0

(2)矩阵A中第i行用0替换.

调用格式为:

A(i,:

)=0

(3)矩阵A中第i~j行用0替换.

调用格式为:

A(i:

j,:

)=0

(4)删除A的第i行,构成新矩阵.

调用格式为:

A(i,:

)=[]

(5)删除A的第i~j行,构成新矩阵.

调用格式为:

A(i:

j,:

)=[]

(6)将矩阵A和B水平或垂直拼接新矩阵.

调用格式为:

[A,B][A;B]

(7)矩阵列元素之和.

调用格式为:

sum(A)

(8)矩阵行元素之和.

调用格式为:

sum(A,2)

(9)矩阵的行数和列数.

调用格式为:

size(A)

(10)矩阵的元素访问与数组元素访问一样.

例5产生一个0-1均匀分布的5行5列的随机阵,并求每一列元素之和.

【matlab命令】

>>d=rand(5,5)

>>sum(d)

【输出结果】

d=

0.35290.19870.74680.84620.01960.81320.60380.44510.52520.6813

0.00990.27220.93180.20260.3795

0.13890.19880.46600.67210.8318

0.20280.01530.41860.83810.5028

ans=

1.51761.28883.00833.08432.4150

说明:

每次运行随机阵结果都是不同的,矩阵元素求和与数组元素求和命令一致.

例6已知矩阵

987

654

321

A分别写出

(1)A1为取矩阵A的第1~2行,第2~3列构成新矩阵;

(2)A2为删除A的第2行,构成新矩阵;

(3)A3为矩阵A的第3行第3列元素替换为100后的矩阵;

(4)A4为矩阵A的第1行分别用50,60,70替换后的矩阵;

(5)A5为A的第1~2行上的所有元素用0替换,构成新矩阵;

(6)A6为将矩阵A和A2垂直拼接成新矩阵;

(7)将A6增加3行.

【matlab命令】

>>A=[123;456;789]

>>A1=A(1:

2,2:

3)

>>A2=A;A2(2,:

)=[]

>>A3=A;A3(3,3)=100

>>A4=A;A4(1,:

)=[50,60,70]

>>A5=A;A5(1:

2,:

)=0

>>A6=[A;A2]

>>A7=size(A6);

>>A6(A7

(1)+3,:

)=0;

>>A7=A6

【输出结果】

A=

123

456

789

A1=

23

56

A2=

123

789

A3=

123

456

78100

A4=

506070

456

789

A5=

000

000

789

A6=

123

456

789

123

789

A7=

123

456

789

123

789

000

000000

说明:

构造一个m行n列的矩阵,一般可用命令zeros(m,n)

4矩阵的运算

4.1矩阵的加减、转置与数组的加减、转置一致

4.2矩阵的乘除

(1)矩阵乘法:

调用格式为:

A*B

(2)矩阵除法:

有“\”左除与“/”右除.若A为非奇异方阵,则A\B,A/B数学意义分别

表示BA1-

,1-

BA

调用格式为:

inv(A)*B或A\BB*inv(A)或A/B

例7已知矩阵

2

0

1

A,

ú-

-

1

1

2

B,求

(1)矩阵A的转置与B乘积;

(2)矩阵A与B转置的乘积.

【matlab命令】

>>A=[-1;0;2];

>>B=[-2;-1;1];

>>A'*B

>>A*B'

【输出结果】

ans=

4

ans=

21-1

000

-4-22

例8解线性方程组

35187

804654

36632

21

321

321

xx

xxx

xxx

解法1以上方程组改写成矩阵形式

351

804

366

087

654

321

3

2

1

x

x

x

3

2

1

351

804

366

087

654

321

x

x

x

XBA,,

原方程组可简写成矩阵形式AX=B,于是X=A\B,或BAX1-

=.

【matlab命令】

>>A=[123;456;780]

>>B=[366;804;351]

>>X=A\B

>>X'

【输出结果】

ans=

25.000022.000099.0000

方程组的解为99,22,25321===xxx

说明:

若方程式矩阵形式XA=B,则X=A/B.

解法2以上方程组改写成增广矩阵形式

ú

351087

804654

366321

~

A,用矩阵初等变换求解.

【matlab命令】

>>A=[123366;456804;780351];

>>A1=rref(A)

【输出结果】

A1=

10025

01022

00199

于是方程组的解为99,22,25321===xxx.说明:

命令rref适用与任何线性方程组求解.

5习题

1.你能用几种方法,构造1至100之间所有奇数组成的数组,请写出相应的命令,再求

出该数组的长度和所有元素之和.若把A记作1至100之间所有奇数依次从小到大组成的

数组,B记作1至100之间所有偶数依次从小到大组成的数组,试求:

(1)数组运算A+B,A.*B,A.\B,A./B,A转置运算

(2)访问A.*B中第11个元素

2.假设:

从北京到底特律的航线飞经以下10处:

A1(北纬31

0

,东经122

0

);A2(北纬36

0

,东经140

0

);

A3(北纬53

0

,西经165

0

);A4(北纬62

0

,西经150

0

);

A5(北纬59

0

,西经140

0

);A6(北纬55

0

,西经135

0

);

A7(北纬50

0

,西经130

0

);A8(北纬47

0

,西经125

0

);

A9(北纬47

0

,西经122

0

);A10(北纬42

0

,西经87

0

);

设某点的地理坐标(纬度,经度)为(f,l),请用以下公式把上述10处站点的地理坐标中

的东经经度数与西经经度数统一换算成东经经度,并把经度和纬度坐标换算成弧度单位.

已知单位转化数学模型为:

北纬f=0

j,东经

î

为西经

为东经

ll

ll

360

0

q(度)

1800

¸´=pjj,1800

¸´=pqq(弧度)

3.设x为1到10整数,求多项式132

+-xx的值.

4.先构造一个66´的零矩阵A,再使它的第一行元素分别为-5,68,1,0,31,

0.8;第二行第一列元素为7;第三行第三列元素为8;然后删除第二行,再增加四行全

为零;显示此时矩阵A,并访问当前矩阵A中第二行第三列的元素.

5.记三阶魔方矩阵X=magic(3,3),3行3列元素全为1的矩阵Y=ones(3,3),Z=2Y,求

矩阵X与Z的乘法.

6.解线性方程组

ì

-=-+-

=+-+

=+-+

-=--

5642

7482

84332

122

4321

4321

4321

431

xxxx

xxxx

xxxx

xxx

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

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1