第三章矩阵与线性代数计算

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

第三章 矩阵与线性代数计算

MATLAB ,即“矩阵实验室”,它是以矩阵为基本运算单元。因此,本章从最基本的运算单元出发,介绍MATLAB 的命令及其用法。

3.1矩阵的定义

由m×n 个元素a ij (i=1,2,…m;j=1,2,…n)排列成的矩形阵称为一个m 行n 列的矩阵,或m×n 阶矩阵,可以简记为A=(a ij ) m×n ,其中的a ij 叫做矩阵的第i 行第j 列元素。

⎥⎥⎥⎦

⎢⎢⎢⎣⎡=mn m m n n a a a a a a a a a A

2

1

22221

11211

当m=n 时,称A 为n 阶方阵,也叫n 阶矩阵;

当m=1,n ≥2时,即A 中只有一行时,称A 为行矩阵,或行向量(1维数组); 当m ≥2,n=1时,即A 中只有一列时,称A 为列矩阵,或列向量; 当m=1,n=1时,即A 中只有一个元素时,称A 为标量或数量(0维数组)。

3.2矩阵的生成

1.实数值矩阵输入

MATLAB 的强大功能之一体现在能直接处理向量或矩阵。当然首要任务是输入待处理的向量或矩阵。

不管是任何矩阵(向量),我们可以直接按行方式输入每个元素:同一行中的元素用逗号(,)或者用空格符来分隔,且空格个数不限;不同的行用分号(;)分隔。所有元素处于一方括号([ ])内;当矩阵是多维(三维以上),且方括号内的元素是维数较低的矩阵时,会有多重的方括号。如: 【例3-1】矩阵的生成例。

a=[1 2 3;4 5 6;7 8 9]

b=[1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9; 2 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9; 3 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9]

Null_M = [ ] %生成一个空矩阵

a =

1 2 3

4 5 6

7 8 9

b =

1.0000 1.1000 1.2000 1.3000 1.4000 1.5000 1.6000

2.0000 2.1000 2.2000 2.3000 2.4000 2.5000 2.6000

3.0000 3.1000 3.2000 3.3000 3.4000 3.5000 3.6000

1.7000 1.8000 1.9000

2.7000 2.8000 2.9000

3.7000 3.8000 3.9000

Null_M =[]

2.复数矩阵输入

复数矩阵有两种生成方式:

【例3-2】

a=2.7;b=13/25;

C=[1,2*a+i*b,b*sqrt(a); sin(pi/4),a+5*b,3.5+1]

C=

1.0000 5.4000 + 0.5200i 0.8544

0.7071 5.3000 4.5000

【例3-3】矩阵的生成例。

R=[1 2 3;4 5 6], M=[11 12 13;14 15 16]

CN=R+i*M

R =

1 2 3

4 5 6

M =

11 12 13

14 15 16

CN =

1.0000 +11.0000i

2.0000 +12.0000i

3.0000 +13.0000i

4.0000 +14.0000i

5.0000 +15.0000i

6.0000 +16.0000i

3 大矩阵的生成

对于大型矩阵,一般创建M文件,以便于修改:

【例3-4】用M文件创建大矩阵,文件名为c3e4.m

exm=[ 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

在MA TLAB命令窗口输入:

c3e4;

size(exm) %显示exm的大小

ans=

5 6 %表示exm有5行6列。

4 特殊矩阵的生成

命令全零阵

函数zeros

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

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

B = zeros([m n]) %生成m×n全零阵

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

命令单位阵

函数eye

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

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

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

命令全1阵

函数ones

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

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

Y = ones([m n]) %生成m×n全1阵

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

命令均匀分布随机矩阵

函数rand

格式Y = rand(n) %生成n×n随机矩阵,其元素在(0,1)内Y = rand(m,n) %生成m×n随机矩阵

Y = rand([m n]) %生成m×n随机矩阵

Y = rand(size(A)) %生成与矩阵A相同大小的随机矩阵

【例3-5】产生一个3³4随机矩阵

R=rand(3,4)

R =

0.9501 0.4860 0.4565 0.4447

0.2311 0.8913 0.0185 0.6154

0.6068 0.7621 0.8214 0.7919

【例3-6】产生一个在区间[10, 20]内均匀分布的4阶随机矩阵a=10;b=20;

x=a+(b-a)*rand(4)

x =

19.2181 19.3547 10.5789 11.3889

17.3821 19.1690 13.5287 12.0277

11.7627 14.1027 18.1317 11.9872

14.0571 18.9365 10.0986 16.0379

命令正态分布随机矩阵

函数randn

格式Y = randn(n) %生成n×n正态分布随机矩阵

Y = randn(m,n) %生成m×n正态分布随机矩阵

Y = randn([m n]) %生成m×n正态分布随机矩阵

Y = randn(size(A)) %生成与矩阵A相同大小的正态分布随机矩阵【例3-7】产生均值为0.6,方差为0.1的4阶矩阵

mu=0.6; sigma=0.1;

x=mu+sqrt(sigma)*randn(4)

x =

0.8311 0.7799 0.1335 1.0565

0.7827 0.5192 0.5260 0.4890

0.6127 0.4806 0.6375 0.7971

0.8141 0.5064 0.6996 0.8527

命令产生随机排列

函数randperm

相关文档
最新文档