当前位置:文档之家› 矩阵与线性代数计算

矩阵与线性代数计算

第三章 矩阵与线性代数计算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 列元素。

⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=m n m m n n a a a a a a a a a A212222111211当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 34 5 67 8 9b =1.0000 1.1000 1.2000 1.3000 1.4000 1.5000 1.60002.0000 2.1000 2.2000 2.3000 2.4000 2.5000 2.60003.0000 3.1000 3.2000 3.3000 3.4000 3.5000 3.60001.7000 1.8000 1.90002.7000 2.8000 2.90003.7000 3.8000 3.9000Null_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.85440.7071 5.3000 4.5000【例3-3】矩阵的生成例。

R=[1 2 3;4 5 6], M=[11 12 13;14 15 16]CN=R+i*MR =1 2 34 5 6M =11 12 1314 15 16CN =1.0000 +11.0000i2.0000 +12.0000i3.0000 +13.0000i4.0000 +14.0000i5.0000 +15.0000i6.0000 +16.0000i3 大矩阵的生成对于大型矩阵,一般创建M文件,以便于修改:【例3-4】用M文件创建大矩阵,文件名为c3e4.mexm=[ 456 468 873 2 579 5521 687 54 488 8 1365 4567 88 98 21 5456 68 4589 654 5 9875488 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.44470.2311 0.8913 0.0185 0.61540.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.388917.3821 19.1690 13.5287 12.027711.7627 14.1027 18.1317 11.987214.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.05650.7827 0.5192 0.5260 0.48900.6127 0.4806 0.6375 0.79710.8141 0.5064 0.6996 0.8527命令产生随机排列函数randperm格式 p = randperm(n) %产生1~n 之间整数的随机排列 【例3-8】整数的随机排列。

randperm(6) ans =3 2 1 54 6命令 产生线性等分向量函数 linspace格式 y = linspace(a,b) %在(a, b)上产生100个线性等分点 y = linspace(a,b,n) %在(a, b)上产生n 个线性等分点 命令 产生对数等分向量 函数 logspace格式 y = logspace(a,b) %在( )之间产生50个对数等分向量y = logspace(a,b,n)命令 计算矩阵中元素个数n = numel(a) %返回矩阵A 的元素的个数 命令 产生以输入元素为对角线元素的矩阵 函数 blkdiag格式 out = blkdiag(a,b,c,d,…) %产生以a,b,c,d,…为对角线元素的矩阵 【例3-9】产生以输入元素为对角线元素的矩阵 out = blkdiag(1,2,3,4) out =1 0 0 0 02 0 0 0 03 0 0 0 04 命令 Magic(魔方)矩阵函数 magic格式 M = magic(n) %产生n 阶魔方矩阵 【例3-10】产生3 阶魔方矩阵M=magic(3) M =8 1 6 3 5 74 9 2ba 10,103.3矩阵的加减乘除运算1 加、减运算设u 为一数量,A=(a ij ) m×n 和B=(b ij ) r×s 为两矩阵,则加减运算的规定为:对应元素相加、减,即按线性代数中矩阵的“十”,“一”运算进行。

u±A=(u±a ij ) m×nA±B=( a ij ± b ij ) m×n u*A=(u*a ij ) m×n【例3-11】矩阵的加减运算。

输入:u=9a=[1 2 3;4 5 6;7 8 0] b=[3 4 5;6 7 8;9 10 2] c=u+a d=a-be=u*a % 和数组运算相同 结果:c = 10 11 12 13 14 15 16 17 9d = -2 -2 -2 -2 -2 -2 -2 -2 -2e = 9 18 27 36 45 54 63 72 0 2 矩阵的乘及乘方运算设u 为一数量,A=(a ij ) m×l 和B=(b ij ) l×n 为两矩阵, A 的列数l 和B 的行数l 相等,可进行A 与B 的乘法运算。

⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=ml m m l l a a a a a a a a a A212222111211⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=ln 212222111211b b b b b b b b b B l l n n⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=*=m n m m n n c c c c c c c c c B A C212222111211这里c ij =a i1b 1j +a i2b 2j +…a il b lj =tj lt itb a∑=1它表示C 的第i 行第j 列的元素是A 第i 行的各元分别与B 第j 列的各对应元的乘积的和。

【例3-12】矩阵的乘及乘方运算。

a=[1 2 3;4 5 6;7 8 0] f=[1 2 3] g=f*a h=f.*aa = 1 2 3 4 5 6 7 8 0 g = 30 36 15 ??? Error using ==> .* 3.方阵的求逆单位矩阵:主对角线上的元素都是1,其他各元素都是0的n 阶矩阵与任意n 阶矩阵A 左乘或右乘的乘积仍然是A 自身,即EA=AE=A ,因此我们叫E 为n 阶单位矩阵。

⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=11 E 对满秩方阵A ,存在A -1,使A* A -1= A -1*A=E ;我们称A -1是A 的逆矩阵。

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

【例3-13】求⎪⎪⎪⎭⎫ ⎝⎛=343122321A 的逆矩阵A=[1 2 3; 2 2 1; 3 4 3]; Y=inv(A)或Y=A^(-1) 则结果显示为Y =1.0000 3.0000 -2.0000 -1.5000 -3.0000 2.5000 1.0000 1.0000 -1.0000【例3-14】求逆运算。

相关主题