实验二 矩阵运算与Matlab 命令一、实验目的1、熟悉matlab 的向量、数组或矩阵的创建、访问和基本运算;2、熟悉matlab 的运算符及优先级;3、熟悉matlab 的字符串处理;4、熟悉matlab 的数据类型;二、 数学概念线性代数中的矩阵运算(以下讨论的矩阵均为实数域中的数的运算):()⎪⎪⎪⎪⎪⎭⎫ ⎝⎛==⨯mn m m n n n m ij a a a a a a a a a a A 212222111211 ()⎪⎪⎪⎪⎪⎭⎫ ⎝⎛==⨯mn m m n n n m ij b b b b b b b b b b B 2
122221112111、 加法运算: ()()⎪⎪⎪⎪⎪⎭⎫ ⎝⎛+++++++++=+=+==⨯⨯mn mn m m m m n n n n n m ij ij n m ij b a b a b a b a b a b a b a b a b a b a B A c C 221122222221211112121111 2、 乘法运算: ()s m ij a A ⨯=
()n s ij b B ⨯= ()n m ij c C ⨯=其中sj is j i j i ij b a b a b a c ++++++= 22113、 数量乘法:数k 与矩阵的乘积就是把矩阵的每个元素都乘以k ,满足如下规律:()()()()()kB A B kA AB k A A kB kA B A k lA kA A l k ===+=++=+ 1 4、 转置运算:将矩阵的行列互换,就得到矩阵的转置。满足如下规律:
()()()()A k kA A B AB B A B A A A '='''=''+'='+='' 5、 矩阵逆运算
如果存在矩阵B 满足AB=BA=E ,B 为A 的逆矩阵。6、 矩阵秩的计算: 矩阵的行向量或列向量的秩都叫做矩阵的秩。三、 Matlab 的相关命令:1、 矩阵的输入格式:矩阵通常用中括号表示,行内元素之间用
空格或逗号分开,行与行之间用分号隔开。
A=[1 2 3;3 4 5]2、 加减运算之间可直接用A+B 或A-B 表示:3、 转置运算:transpose(A)4、 数乘矩阵:k*A 5、 矩阵A 的逆运算:inv(A)或A-1
6、 矩阵相乘:A*B
7、 方阵A 的行列式:det(A)
8、 矩阵A 的秩:rank(A)四、实验内容1.1 知识要点与背景:知识要点和背景:日常矩阵及其运算
A=[4 2 3;1 3 2;1 3 3;3 2 2], % 表1-1、表1-2的数据分别写成矩阵形式
B=[35 20 60 45;10 15 50 40;20 12 45 20] C=A*B %矩阵乘法,求各订单所对应的原材料和劳动力 。
whos % 查看Matlab 工作空间中变量及其规模 1.2实验与观察:矩阵和Matlab 语言1.2.1 向量的生成和运算x=linspace(0,4*pi,100); %将[0,4π]区间100等分,产生了一个100维向量 y=sin(x); %计算函数值,产生了一个与x 同维的100维函数向量y
y1=sin(x).^2; %计算函数向量,注意元素运算
y2=exp(-x).*sin(x); %以x为横坐标,y为纵坐标画函数的图用不同的线型将函数曲线绘制在一个图上
plot(x,y,'-',x,y1,'-',x,y2,'.-')
1. 向量的创建
◆直接输入向量。
x1=[1 2 4],x2=[1,2,1],x3=x1'
◆冒号创建向量。
x1=3.4:6.7
x2=3.4:2:6.7
x3=2.6:-0.8:0
◆生成线性等分向量。
x=linspace(0,1,5)
2. 向量的运算
y=sin(x)
y1=sin(x).^2;
y2=exp(-x).*sin(x);字符串转数组matlab
1.2.2.矩阵创建和运算
1.创建矩阵
(1)数值矩阵的创建
◆直接输入法创建简单矩阵。
A=[1 2 3 4; 5 6 7 8; 9 10 11 12]
B=[-1.3,sqrt(3);(1+2)*4/5,sin(5);exp(2),6]
(2)符号矩阵的创建
syms a11 a12 a13 a14 a21 a22 a23 a24 a31 a32 a33 a34 …
b11 b12 b13 b14 b21 b22 b23 b24 b31 b32 b33 b34
A1=[a11 a12 a13 a14 ;a21 a22 a23 a24; a31 a32 a33 a34],
B1=[b11 b12 b13 b14 ;b21 b22 b23 b24; b31 b32 b33 b34]
2.矩阵的运算
C=A1+B1,D=A1-B1
syms c
cA=c*A1
C=A1*B1
{ ??? Error using ==> sym/mtimes, Inner matrix dimensions must agree. } A2=A1(:,1:3), B1
G=A2*B1
g11=A2(1,:)*B1(:,1)
A, A_trans=A'
H=[1 2 3 ; 2 1 0 ; 1 2 3 ], K=[1 2 3 ; 2 1 0 ; 2 3 1]
h_det=det(H), k_det=det(K),H_inv=inv(H),K_inv=K^-1
A=[3 0 1; 1 1 0;0 1 4];
B=inv(A-2*eye(3))*A, B=(A-2*eye(3))\A
3.分块矩阵:矩阵的裁剪、分割、修改与抽取(1)
A=[1 0 1 1 2;0 1 -1 2 3;3 0 5 1 0;2 3 1 2 1], vr=[1,3];vc=[1,3];
A1=A(vr,vc) %取出A的1、3行和1、3列的交叉处元素构成新矩阵A1 将上面的矩阵A分为四块,并把它们赋值到矩阵B中,观察运行后的结果。
A11=A(1:2,1:2),A12=A(1:2,3:5),A21=A(3:4,1:2),A22=A(3:4,3:5)
B=[A11 A12;A21 A22]
(2)矩阵的修改和提取
A=[1 0 1 1 2;0 1 -1 2 3;3 0 5 1 0;2 3 1 2 1] A(1,:)=[0 0 0 0 0]; A 观察:
B(:,[2,4])=[ ] %删除矩阵B 的第2、4列
(3)矩阵元素的抽取
4.生成特殊矩阵
y1=rand(1,5), y2=rand(1,5),
rand('seed',3), x1=rand(1,5), rand('seed',3), x2=rand(1,5) 练习:
1、已知矩阵A,B,b 如下:
⎪⎪⎪⎪⎪
⎪⎭
⎫ ⎝⎛-=8 5 6 3 49 6 3 8 56 8 0 3 23 0 5 2 59 8 5 4 1A ⎪⎪⎪⎪⎪⎪⎭
⎫ ⎝⎛=7 9 2 8 88 5 3 3 66 8 8 3 74 0 7 2 60 8 6 4 4B b=[1 4 6 7 9]
试用matlab 软件中相关命令完成以下运算:
(1)、 输入矩阵A,B,b
(2)、 求出A1=A T
(3)、 求出A2=A+B ,A3=A-B ,A4=3A-2B
(4)、 求出A5=AB
(5)、 求出A6=A -1
(6)、 求出A ,B 的秩m,n
(7)、 求出A ,B 的行列式s,t 2、 自己输入一个10阶方阵,并求出它的转置,逆,行列式,秩。3、 自己输入二个5阶方阵,并求出它的转置,逆,行列式,秩,乘积。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论