1、向量矩阵的运算第三章 向量、矩阵的运算学习目标:1、 正确输入向量、矩阵;2、 熟悉MATLAB中向量、矩阵基本运算的命令;3、 会访问提取向量、矩阵中元素;4、 能用MATLAB进行矩阵的初等变换。第一节 向量的运算由n个数组成的一个有序数组,称为一个n维向量,记作:或,前者称为行向量,后者称为列向量。一、 向量的生成:方法一:生成向量的最直接方式是把向量元素逐个从键盘上直接输入,用“ ”括起来,元素之间可以用逗号、空格、分号分隔,注意不同的是,用空格和逗号分隔生成行向量,用分号分隔生成列向量。方法二:利用冒号表达式生成 格式是: a:d:b , d为”步长”即公差.方法三:利用线性等分命令
2、linspace,先设定向量的维数,再生成等间隔的向量.格式是:x=linspace(a,b) %生成100维的行向量,使得x1=a, x100=b,x=linspace(a,b,n), %生成n维行向量,使得x1=a, xn=b.例如: x=1,2,5,8,10x = 1 2 5 8 10 y=1:2:10y = 1 3 5 7 9 z=linspace(1,10,5)z =1.0000 3.2500 5.5000 7.7500 10.0000二、 向量中的元素操作MATLAB允许访问向量中的元素和对元素重新赋值,元素的位置编号写在小括号内,如:x(n)表示向量x的第n个元素。在小括号中可以
3、使用冒号表达式和“ ”,此时表示访问向量中的多个元素。如:x(1:3) % 访问x的前3个元素 x(5:-2:1) % 访问x的第5、3、1个元素 x(1,3,4) %访问x的第1、3、4个元素 x(3) % 访问x的第3个元素 x(5)=-3 % 给x的第5个元素重新赋值为-3三、 向量的运算向量运算命令格式a+b a+ba+ka+kka k.*aa.b 向量点积dot(a,b)向量的长度(范数)norm(a)例:a=(7,2,0,-8) , b=(2,1,-4,3), 求1)3a+7b 2) a.b (1)3*a+7*bans = 35 13 -28 -3(2)dot(a,b)ans =
4、-8第二节 矩 阵一、矩阵的生成:1)数值型小矩阵的生成:把矩阵中的元素从键盘逐一输入,放置在“ ”内,同行元素之间用逗号或空格分隔,行与行之间用分号或回车键分隔;2)特殊数值矩阵的生成:利用内部语句和函数命令可快速产生特殊矩阵。如单位矩阵、零矩阵、全1阵、随机矩阵、空矩阵。命令格式说明 生成空矩阵 eye(n)eye(m,n)eye(size(A)生成n阶单位矩阵生成m行n列单位矩阵生成与矩阵A同阶的单位矩阵zeros(n)zeros(m,n)zeros(size(A)生成n阶零矩阵生成m行n列零矩阵生成与矩阵A同阶的零矩阵ones(n)ones(m,n)ones(size(A)生成n阶全1
5、矩阵生成m行n列全1矩阵生成与矩阵A同阶的全1矩阵rand(n)rand(m,n)rand(size(A)生成n阶随机矩阵生成m行n列随机矩阵生成与矩阵A同阶的随机矩阵randn(m,n)生成m行n列的标准正态随机矩阵例如: A=eye(3)A = 1 0 0 0 1 0 0 0 1 B=ones(2,3)B = 1 1 1 1 1 1 C=rand(size(A)C = 0.9501 0.4860 0.4565 0.2311 0.8913 0.0185 0.6068 0.7621 0.82143)符号矩阵:用sym或syms命令方法一:sym( )方法二:先用syms命令创建符号变量,再用创
6、建数值型矩阵的方法输入。例如: A=sym(a b ;c d) A = a, b c, d syms x B=(cos(x),sin(x);-x,x2+1) B = cos(x), sin(x) -x, x2+1注:符号型矩阵输出时的特征是每行都用“ ”括起来。二、矩阵的基本数学运算:矩阵运算命令格式说明加法A+BA,B必须是行列数分别相等的同型矩阵减法A-B数乘k*A乘法A*B矩阵A的列数与矩阵B的行数相同除法:左除(/)、右除()A/B,BAA/B相当于,BA相当于矩阵的行列式|A|det(A)A必须是方阵逆矩阵int(A)A必须是方阵矩阵的秩R(A)rank(A)矩阵的转置A矩阵的特征值
7、、特征向量X=eig(A)X,Y=eig(A)只求A的特征值X为A的特征值,t=t=t=t=t=t=t=t=t=Y为A的特征向量例:1、求矩阵的逆矩阵 A=2 3 -1;1 2 0;-1 2 -2A = 2 3 -1 1 2 0 -1 2 -2 inv(A)ans = 0.6667 -0.6667 -0.3333 -0.3333 0.8333 0.1667 -0.6667 1.1667 -0.1667 format rat %指定数值输出为分数形式 ansans = 2/3 -2/3 -1/3 -1/3 5/6 1/6 -2/3 7/6 -1/6 例2、解矩阵方程: X=1 -3 0;10 2
8、 7;10 7 8*inv(1 2 -3;3 2 -4;2 -1 0)X = 20 -15 13 -105 77 -58 -152 112 -87 例3、求矩阵的特征值和特征向量: X,D=eig(1 1/2 0;0 1/2 1;0 0 0)X = 1 -985/1393 881/2158 0 985/1393 -881/1079 0 0 881/2158 %X为特征向量D = 1 0 0 0 1/2 0 0 0 0 eig(1 1/2 0;0 1/2 1;0 0 0) %求特征值ans = 1 1/2 0 上机实践:1)、, ,求:, , AB,BA (AB=BA吗?)2)、设, 解矩阵方程
9、:(2A-X)+2(B-X)=03)、解矩阵方程: 4)、求矩阵的A秩: 5)、求方阵的逆矩阵6)、用克拉默法则解线性方程组: 第三节 矩阵的元素操作一、MATLAB可以对矩阵元素作如下操作:提取、赋值、删除、增加元素,从矩阵中提取小矩阵,由小矩阵合并成大矩阵。命令格式说明A(i)单下标访问,把A的元素按列从左到右连接成一个列向量,提取A的第i个元素A(i,j)双下标访问,提取元素A(i ,:)提取矩阵A的第i行A(: ,j)提取矩阵A的第j列A(m,n,s,t)提取矩阵A的第m,n行和第s,t列交叉处元素A(i ,j)=a给元素重新赋值为aA(i ,j)= 删除元素例如: A=zeros(2
10、,4) %生成2行4列的零矩阵A = 0 0 0 0 0 0 0 0 A(1,3) %重新赋值,使=4ans = 0 A(:,2,3)=ones(2) %把A的第2、3列元素的值变为1A = 0 1 1 0 0 1 1 0 A(2,:) %提取矩阵A的第2行ans = 0 1 1 0二、矩阵的初等变换1)互换变换: 矩阵的两行(列)互换位置。A (i,j,:)=A(j,i,:) %交换A的第i行与第j行A(:,j,i)=A(:,i,j) %交换A的第i列和第j列2)数乘变换:用一个非零数乘矩阵的某一行(列)的所有元素。A(i,:)=k*A(i,:) % 数k乘以A的第i行元素A(:,j)=k*
11、A(:,j) %数k乘以A的第j列元素3)消去变换:把矩阵的某一行(列)乘以一个非零数后加到另一行上(列)去。A(j,:)=k*A(i,:)+A(j,:) %A的第i行元素乘以k后加到第j行上去。A(:,j)=k*A(:,i)+A(:,j) %A的第i列元素乘以k后加到第j列上去。例如:用初等变换把矩阵化为上三角阵 A=-1 0 2;3 1 -1;0 2 4A = -1 0 2 3 1 -1 0 2 4 A(1,:)=-1*A(1,:)A = 1 0 -2 3 1 -1 0 2 4 A(2,:)=-3*A(1,:)+A(2,:)A = 1 0 -2 0 1 5 0 2 4 A(3,:)=-2*A(2,:)+A(3,:)A = 1 0 -2 0 1 50 0 -6上机实践:1、 设矩阵,输入下列程序并解释语句的功能(1)B(3,3)=0 % (2)B(2,6)=1 % 注:因为B没有6列,矩阵B的维数会根据需要增加,并且在其他没有赋值的位置填上0,以便使数组保持为一个矩形矩阵。(3)B(:,4)=4 % (4)B(3:-1:1,1:3) % (5)B(1:2,2:3) % (6)A1=B(1,2,3,4) % A2=B(2,3,1,2) % A=A1,A2 % 2、用初等变换求矩阵的逆矩阵
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1