1、MATLAB原理及应用实验报告第二章MATLAB原理及应用实验报告 实验二 数组(矩阵)及其运算一实验目的1、掌握MATLAB软件环境下进行的数值数组(矩阵)的创建和访问的基本方法。2、掌握数值数组(矩阵)的算术运算、逻辑运算二实验设备计算机、MATLAB软件三实验内容1.矩阵的创建(1)矩阵的创建 方法1:输入元素列表 矩阵行中的元素以空格()或逗号(,)间隔 矩阵行之间用分号(;)或回车(enter)间隔 整个元素列表用方括号()括起来 a=1 2 3;4 5 6;7 8 9 a=1:3;4:6;7:9;a1=1:6 %用冒号(:)可以操作简便 方法2:利用MATLAB内部函数产生矩阵 b
2、=eye(3) c=ones(2,5) d=zeros(3,2) e=linspace(-3,6,10) f=logspace(0,4,5) r=rand(1,6) %产生0,1之间均匀分布的随机向量R(16)(2)矩阵元素的提取与替换 在MATLAB中,矩阵中元素可以通过其在矩阵中的行标和列标来确定。对矩阵中的元素进行提取与替换,也可以按行标和列表进行。【实验2-1】在命令窗口输入: A=1,2,3;4,5,6 运行后显示: A = 1 2 3 4 5 6在命令窗口输入: b=A(1,2)运行后显示:b =2在命令窗口输入: A(2,3)=-3运行后显示:A = 1 2 3 4 5 -3(3
3、)矩阵的操作 A=1,2,3;4,5,6;7,8,9 B=diag(A) %X为矩阵时,V=diag(X,k)得到列向量V,它取自X的第K个对角线的元素, %k=0,表示主对角线,等同于V=diag(X) C=diag(B) %产生对角阵 D=rot90(A) %将矩阵A逆时针旋转90度。 E=reshape(D,1,9) %reshape(A,m,n)从矩阵A中从新生成mn的矩阵,按 “列”顺序重排 3.矩阵的运算 (1)算术运算 + - * / 。 两种不同转置的区别(数组转置,即非共轭转置;数组转置,即非共轭转置) 【实验2-2】在命令窗口输入:clear; A=zeros(2,3);
4、A(:)=1:6; %全元素赋值法 A 运行后显示:A = 1 3 5 2 4 6 A=A*(1+i) %运用标量与数组乘产生复数矩阵 运行后显示:A = 1.0000 + 1.0000i 3.0000 + 3.0000i 5.0000 + 5.0000i 2.0000 + 2.0000i 4.0000 + 4.0000i 6.0000 + 6.0000i B=A. %数组转置,即非共轭转置 运行后显示:B = 1.0000 + 1.0000i 2.0000 + 2.0000i 3.0000 + 3.0000i 4.0000 + 4.0000i 5.0000 + 5.0000i 6.0000
5、+ 6.0000i C=A %矩阵转置,即共轭转置 运行后显示:C = 1.0000 - 1.0000i 2.0000 - 2.0000i 3.0000 - 3.0000i 4.0000 - 4.0000i 5.0000 - 5.0000i 6.0000 - 6.0000i求矩阵的逆矩阵 B=1 2;3 4; B1=inv(B) 运行后显示:B1 = -2.0000 1.0000 1.5000 -0.5000 B2=B(-1)运行后显示:B2 = -2.0000 1.0000 1.5000 -0.5000关于矩阵求幂A=1 2;3 4; B= 2 1;3 2;A.B 运行后显示:ans = 1
6、 2 27 164.向量的运算 (1)向量点积运算 【实验2-3】在命令窗口输入: A=1 2;3 4; B= 2 1;3 2; C=dot(A,B) 运行后显示: C = 11 10 (2)向量叉积运算 A=1 2 3; B= 2 1 3;%向量A与B必须是3个元素的向量。 C=cross(A,B) 运行后显示: ans = 3 3 -3(2)关系和逻辑运算 关系操作符(6种)、=、 A=1 2 1;3 4 1;2 2 3; b=trace(A) %返回矩阵A的迹,即A的对角线元素之后。 运行后结果显示:b = 8 A=1 2 1;3 4 1;2 2 3; n=numel(A) %返回矩阵A
7、的元素之和运行后结果显示:n = 95.矩阵的分析 【实验2-】在命令窗口输入 A=-1 1 0;-4 3 0;1 0 2; V,D=eig(A)%求矩阵A的全部特征值,构成对角阵D,并求A的特征向量构成V的列向量。运行后结果显示: V = 0 0.4082 0.4082 0 0.8165 0.8165 1.0000 -0.4082 -0.4082D = 2 0 0 0 1 0 0 0 16.课后练习1、建立和(1)求矩阵A和B的积,矩阵A左除B,以及矩阵A的2次方 A=1 2 1;2 5 -1;4 10 3; B=2 -1 3;3 1 -5;4 -1 1; C=A*B矩阵A和B的积:C =
8、12 0 -6 15 4 -20 50 3 -35矩阵A左除B: D=ABD = 6.8000 -2.8000 9.6000 -2.2000 1.2000 -4.4000 -0.4000 -0.6000 2.2000矩阵A的2次方: E=A2E = 9 22 2 8 19 -6 36 88 3(2)求数组A和B的积,数组A左除B,及数组A的2次方 A=1 2 1;2 5 -1;4 10 3;B=2 -1 3;3 1 -5;4 -1 1; C=A.*BC = 2 -2 3 6 5 5 16 -10 3 D=A.BD = 2.0000 -0.5000 3.0000 1.5000 0.2000 5.
9、0000 1.0000 -0.1000 0.3333 E=A.2E = 1 4 1 4 25 1 16 100 92.建立矩阵 (1)用两种方法索引出A矩阵第3行第2列的元素,并将其值改为自己的学号加201) A=16 3 2 13 -1 -4;5 10 11 8 7 9;9 6 8 12 -4 2;4 15 14 1 -5 15A = 16 3 2 13 -1 -4 5 10 11 8 7 9 9 6 8 12 -4 2 4 15 14 1 -5 15 C=A(3,2)C = 62) A=16 3 2 13 -1 -4;5 10 11 8 7 9;9 6 8 12 -4 2;4 15 14
10、1 -5 15A = 16 3 2 13 -1 -4 5 10 11 8 7 9 9 6 8 12 -4 2 4 15 14 1 -5 15 C=A(7)C = 6 A(3,2)=23+20A = 16 3 2 13 -1 -4 5 10 11 8 7 9 9 43 8 12 -4 2 4 15 14 1 -5 15(2)索引出A矩阵第2行至第4行、第二列至第5列的所有元素 A=16 3 2 13 -1 -4;5 10 11 8 7 9;9 6 8 12 -4 2;4 15 14 1 -5 15A = 16 3 2 13 -1 -4 5 10 11 8 7 9 9 6 8 12 -4 2 4
11、15 14 1 -5 15 B=A(2:4,2:5)B = 10 11 8 7 6 8 12 -4 15 14 1 -53、使用两种方法建立范围为的向量,使得向量中的元素相邻元素的间隔是21) A=(10:2:20)A =10 12 14 16 18 202) A=linspace(10,20,6)A = 10 12 14 16 18 20(1) 改变第二个元素的值,并将其赋给一个新的变量(学号加20),并求两个向量的点积 A=(10:2:20); A(2)=23+20A =10 43 14 16 18 20 B=AB = 10 43 14 16 18 20求两向量的点积: A=10 12 1
12、4 16 18 20; B=10 43 14 16 18 20; C=dot(A,B)C = 1792(2) 从第二个元素开始提取三个元素,并与向量1 2 3做叉积 A=10 12 14 16 18 20; B=A(2:4)B = 12 14 16 C=1 2 3; D=cross(B,C)D = 10 -20 104、 复数表达,及计算。 z1=3+4*i;z2=1+2*i;z3=2*exp(pi/6)*i); z=(z1*z2)/z3z = 0.3349 + 5.5801i5、建立随机矩阵:(1) 在区间10,学号加40内均匀分布的5阶随机矩阵A。然后判断A的元素能否被3整除。 A=10+
13、(23+40-10)*rand(5,5) A = 60.3569 50.3911 42.6179 31.5024 13.0682 22.2503 34.1928 51.9727 59.5799 28.7020 42.1627 10.9807 58.8561 58.5959 53.0978 35.7571 53.5346 49.1250 31.7443 10.5226 57.2388 33.5693 19.3421 57.3634 17.3612 B=mod(A,3)=0B = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0因为B的元素不是一,
14、则说明A的元素不能被3整除 (2) 均值为(学号/10)、方差为(100*学号)的5阶正态分布随机矩阵 a=23/10+sqrt(23*100)*randn(5,5)a= -18.4451 59.4143 -6.6542 7.7640 16.4194 -77.5786 59.3303 37.1077 53.4604 -61.7810 8.3107 0.4952 -25.9147 5.1430 36.5578 16.0965 17.9964 107.0019 -2.2871 80.1633 -52.6828 10.6754 -4.2413 -37.6181 -30.8764 (3) 对(1)向右取整,对(2)向左取整数对于(1)向右取整: ceil(A)ans = 61 51 43 32 14 23 35 52 60 29 43 11 59 59 54 36 54 50 32 11 58 34 20 58 18对于(2)向左取整: floor(a)ans = -19 59 -7 7 16 -78 59 37 53 -62 8 0 -26 5 36 16 17 107 -3 80 -53 10 -5 -38 -31
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1