Matlab实验2-矩阵的基本运算
- 格式:doc
- 大小:67.50 KB
- 文档页数:8
MATLAB中对矩阵的基本操作在MATLAB中,可以对矩阵进行多种基本操作,包括创建矩阵、访问元素、改变矩阵的大小、插入和删除元素、矩阵的运算等。
以下是对这些操作的详细说明:1.创建矩阵:在MATLAB中,可以使用多种方式创建矩阵。
其中最常用的方式是使用方括号将元素排列成行或列,例如:```A=[1,2,3;4,5,6;7,8,9];```这将创建一个3x3的矩阵A,其元素为1到92.访问元素:可以使用括号和下标来访问矩阵中的元素。
下标从1开始计数。
例如,要访问矩阵A的第二行第三列的元素,可以使用以下代码:```A(2,3);```这将返回矩阵A的第二行第三列的元素。
3.改变矩阵的大小:可以使用函数如reshape和resize来改变矩阵的大小。
reshape函数可以将矩阵重新组织为不同的行和列数。
例如,以下代码使用reshape 将3x3的矩阵A重新组织为1x9的矩阵B:```B = reshape(A, 1, 9);```resize函数可以改变矩阵的大小,可以用来增加或减少矩阵的行和列数。
例如,以下代码将矩阵A的大小改变为2x6:```A = resize(A, 2, 6);```4.插入和删除元素:可以使用括号和下标来插入和删除矩阵中的元素。
例如,以下代码会在矩阵A的第二行的末尾插入一个元素10:```A(2, end+1) = 10;```同时,可以使用括号和下标来删除矩阵中的元素。
以下代码将删除矩阵A的第一行的第二个元素:```A(1,2)=[];```这将删除矩阵A的第一行的第二个元素。
5.矩阵的运算:-矩阵乘法:使用*符号进行矩阵乘法运算。
例如,以下代码将矩阵A 与矩阵B相乘:```C=A*B;```-矩阵加法和减法:使用+和-符号进行矩阵加法和减法运算。
例如,以下代码将矩阵A和矩阵B相加得到矩阵C:```C=A+B;```-矩阵转置:使用'符号进行矩阵的转置操作。
例如,以下代码将矩阵A转置:```B=A';```-矩阵相乘:使用.*符号进行矩阵的元素级相乘运算。
北京工业大学Matlab实验报告**: ***学号: ************: **实验二、Matlab 的基本计算(一)实验目的1.掌握建立矩阵的方法。
2.掌握Matlab 各种表达式的书写规则以及常用函数的使用。
3.能用Matlab 进行基本的数组、矩阵运算。
4.掌握矩阵分析的方法以及能用矩阵运算或求逆法解线性方程组。
5.掌握Matlab 中的关系运算与逻辑运算。
(二)实验环境1.计算机2.MATLAB7.0集成环境(三)实验内容及要求1、熟练操作MATLAB7.0运行环境;2、自主编写程序,必要时参考相关资料;3、实验前应写出程序大致框架或完整的程序代码;4、完成实验报告。
(四)实验程序设计1.利用diag 等函数产生下列矩阵。
⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-=032570800a ⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=804050702b2.利用reshape 函数将1题中的a 和b 变换成行向量。
3.产生一个均匀分布在(-5,5)之间的随机矩阵(10×2),要求精确到小数点后一位。
4.已知:⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-=76538773443412A ⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡--=731203321B求下列表达式的值:(1) B A K *611+=和I B A K +-=12(其中I 为单位矩阵)(2) B A K *21=和B A K *.22=(3) 331^A K =和3.32^A K =(4) B A K /41=和A B K \42=(5) ],[51B A K =和]2:);],3,1([[52^B A K = 5.下面是一个线性方程组:⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡52.067.095.03216/15/14/15/14/13/14/13/12/1x x x(1)求方程的解(矩阵除法和求逆法)(2)将方程右边向量元素3b 改为0.53,再求解,并比较3b 的变化和解的相对变化。
一、实验目的1. 熟悉矩阵运算软件的基本功能和使用方法。
2. 掌握矩阵的创建、编辑、保存、调用等操作。
3. 熟练运用矩阵的基本运算,如加减乘除、求逆、求行列式、求秩、求迹等。
4. 通过实际操作,提高对矩阵运算的理解和应用能力。
二、实验环境1. 软件名称:MATLAB2. 操作系统:Windows 103. 编程环境:MATLAB R2020b三、实验内容1. 矩阵的创建与编辑(1)创建一个2x3的矩阵A:```A = [1 2 3; 4 5 6]```(2)创建一个3x3的矩阵B,并将元素设置为随机数:```B = randn(3);```(3)编辑矩阵A,将第2行第3列的元素修改为10:```A(2,3) = 10;```2. 矩阵的保存与调用(1)将矩阵A保存为“matrixA.mat”:```save matrixA.mat A```(2)调用保存的矩阵A:```load matrixA.mat```3. 矩阵的基本运算(1)矩阵的加减运算:```C = A + B; % 矩阵A与B相加D = A - B; % 矩阵A与B相减```(2)矩阵的乘除运算:```E = A B; % 矩阵A与B相乘F = A / B; % 矩阵A与B相除(元素-wise)```(3)求矩阵的逆:```G = inv(A); % 求矩阵A的逆```(4)求矩阵的行列式:```detA = det(A); % 求矩阵A的行列式```(5)求矩阵的秩:```rankA = rank(A); % 求矩阵A的秩```(6)求矩阵的迹:```traceA = trace(A); % 求矩阵A的迹```4. 矩阵的应用(1)解线性方程组:```x = A\b; % 解线性方程组Ax = b```(2)矩阵的特征值与特征向量:```[V, D] = eig(A); % 求矩阵A的特征值和特征向量```四、实验结果与分析1. 通过实验,成功创建了多个矩阵,并掌握了矩阵的保存与调用方法。
matlab矩阵运算实验报告Matlab矩阵运算实验报告一、引言矩阵运算是数学和工程领域中的重要概念之一,它在各个领域中都有广泛的应用。
Matlab作为一种强大的数学软件工具,提供了丰富的矩阵运算功能,可以帮助我们进行高效的数值计算和数据处理。
本实验报告将介绍Matlab中的矩阵运算功能,并通过实例展示其在实际问题中的应用。
二、矩阵运算的基本概念矩阵是由若干个数按照行和列排列形成的一个矩形阵列,它是线性代数中的基本工具。
在Matlab中,矩阵可以通过直接输入数值或使用内置函数生成。
矩阵运算包括加法、减法、乘法、转置等操作,这些操作可以对矩阵的每个元素进行运算,也可以对整个矩阵进行运算。
三、矩阵运算的实例分析1. 矩阵的创建与赋值在Matlab中,可以使用以下命令创建一个矩阵,并对其进行赋值操作:A = [1, 2, 3; 4, 5, 6; 7, 8, 9];这样就创建了一个3行3列的矩阵A,并对其进行了赋值。
可以通过输入A来查看矩阵A的内容。
2. 矩阵的加法与减法矩阵的加法和减法是按照对应元素进行运算的。
例如,对于两个3行3列的矩阵A和B,可以使用以下命令进行加法运算:C = A + B;同样地,可以使用以下命令进行减法运算:D = A - B;这样就得到了矩阵C和D。
3. 矩阵的乘法矩阵的乘法是按照行乘以列的方式进行的。
例如,对于一个3行2列的矩阵A和一个2行4列的矩阵B,可以使用以下命令进行乘法运算:C = A * B;这样就得到了一个3行4列的矩阵C。
4. 矩阵的转置矩阵的转置是将矩阵的行和列进行交换的操作。
例如,对于一个3行2列的矩阵A,可以使用以下命令进行转置操作:B = A';这样就得到了一个2行3列的矩阵B。
四、矩阵运算的应用实例矩阵运算在实际问题中有着广泛的应用。
以下是一个简单的实例,通过矩阵运算来解决线性方程组的问题。
假设有一个线性方程组:2x + y = 4x + 3y = 6可以将其表示为矩阵形式:A = [2, 1; 1, 3];B = [4; 6];通过矩阵运算可以求解出未知数x和y的值:X = A \ B;这样就得到了未知数x和y的值。
《MATLAB及应用A》第二次上机作业一、一球从100米高度自由落下,每次落地后反弹回原高度的一半,再落下。
求它在第10次落下时共经过多少米?第10次反弹多高?MATLAB源程序:MATLAB运行结果:二、有如下一段MATLAB程序,请解释说明每个语句的功能,必要时用数学表达式(不是在MATLAB中的输入形式);并给出y1、y2、y3的值(可从MATLAB中复制)。
MATLAB源程序:x=linspace(0,6);y1=sin(2*x);y2=sin(x.^2);y3=(sin(x)).^2;各条命令语句的功能如下:y1、y2、y3的值分别为:三、教材第55页习题三,第3题。
MATLAB源程序:MATLAB运行结果:四、选择题(1) i=2; a=2i; b=2*i; c=2*sqrt(-1); 程序执行后,a, b, c的值分别是多少?()(A) a=4, b=4, c=2.0000i(B) a=4, b=2.0000i, c=2.0000i(C) a=2.0000i, b=4, c=2.0000i(D) a=2.0000i, b=2.0000i, c=2.0000i(2) 求解方程x4-4x3+12x-9 = 0 的所有解,其结果为()(A) 1.0000, 3.0000, 1.7321, -1.7321(B) 1.0000, 3.0000, 1.7321i, -1.7321i(C) 1.0000i, 3.0000i, 1.7321, -1.7321(D) -3.000-0i, 3.0000i, 1.7321, -1.7321五、求[100,1000]之间的全部素数(选做)。
MATLAB源程序: MATLAB运行结果:一、一球从100米高度自由落下,每次落地后反弹回原高度的一半,再落下。
求它在第10次落下时共经过多少米?第10次反弹多高?MATLAB源程序:>> a=(0:-1:-9) %产生一个行向量aa =0 -1 -2 -3 -4 -5 -6 -7 -8 -9>> b=pow2(a) %对行向量a中的每一个元素分别求幂函数b =1.0000 0.5000 0.2500 0.1250 0.0625 0.0313 0.0156 0.007 8 0.0039 0.0020>> h=100*b %对行向量b中的每一个元素分别乘以100h =100.0000 50.0000 25.0000 12.5000 6.2500 3.1250 1.5625 0. 7813 0.3906 0.1953>> s1=sum(h) %对行向量h中的元素求和s1 =199.8047>> s=s1*2-100 %求出第10次落下时经过的高度s =299.6094>> h10=h(10)/2 %求出第10次反弹的高度h10 =0.0977二、有如下一段MATLAB程序,请解释说明每个语句的功能,必要时用数学表达式(不是在MATLAB中的输入形式);并给出y1、y2、y3的值(可从MATLAB 中复制)。
实验二、矩阵的基本运算一、 问题已知矩阵A 、B 、b 如下:⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎣⎡-------------=031948118763812654286174116470561091143A ⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎣⎡------=503642237253619129113281510551201187851697236421B …[]1187531=b应用Matlab 软件进行矩阵输入及各种基本运算。
二、 实验目的:熟悉Matlab 软件中的关于矩阵运算的各种命令三、 预备知识1、 、2、 线性代数中的矩阵运算。
3、 本实验所用的Matlab 命令提示:(1)、矩阵输入格式:A =[a 11, a 12; a 21, a 22];b =初始值:步长:终值;(2)、求A 的转置:A';(3)、求A 加B :A +B ;(4)、求A 减B :A -B ;(5)、求数k 乘以A :k*A ;(6)、求A 乘以B :A*B ;(7)、求A 的行列式:det (A );(8)、求A 的秩:rank (A );…(9)、求A 的逆:inv (A )或(A )-1;(10)、B 右乘A 的逆:B/A ;(11)、B 左乘A 的逆:A \B ;(12)、求A 的特征值:eig (A );(13)、求A 的特征向量矩阵X 及对角阵D :[X ,D ]=eig (A );((14)、求方阵A 的n 次幂:A ^n ;(15)、A与B的对应元素相乘:A.*B;(16)、存储工作空间变量:save '文件名' '变量名';(17)、列出工作空间的所有变量:whos;四、《五、实验内容与要求1、输入矩阵A,B,b;>> A=[3,4,-1,1,-9,10;6,5,0,7,4,-16;1,-4,7,-1,6,-8;2,-4,5,-6,12,-8;-3,6,-7,8,-1,1;8,-4,9,1,3,0] B=[1 2 4 6 -3 2;7 9 16 -5 8 -7;8 11 20 1 5 5;10 15 28 13 -1 9;12 19 36 25 -7 23;2 4 6 -3 0 5] b=[1,3,5,7,8,11]|A =3 4 -1 1 -9 106 5 07 4 -161 -4 7 -1 6 -82 -4 5 -6 12 -8^-3 6 -7 8 -1 18 -4 9 1 3 0B =1 2 4 6 -3 27 9 16 -5 8 -7^8 11 20 1 5 510 15 28 13 -1 912 19 36 25 -7 232 4 6 -3 0 5b =)1 3 5 7 8 112、作X21=A'、X22=A+B、X23=A-B、X24=AB;>> X21=A'X22=A+BX23=A-B%X24=A*BX21 =3 6 1 2 -3 84 5 -4 -4 6 -4-1 0 7 5 -7 9;1 7 -1 -6 8 1-9 4 6 12 -1 310 -16 -8 -8 1 0X22 =4 6 3 7 -12 12(13 14 16 2 12 -239 7 27 0 11 -312 11 33 7 11 19 25 29 33 -8 2410 0 15 -2 3 5<X23 =2 2 -5 -5 -6 8-1 -4 -16 12 -4 -9-7 -15 -13 -2 1 -13-8 -19 -23 -19 13 -17{-15 -13 -43 -17 6 -226 -8 3 4 3 -5X24 =-55 -85 -180 -245 80 -175127 174 348 250 -13 52|75 110 220 194 -41 15482 129 260 283 -91 23953 76 138 21 21 -2998 151 284 165 -33 1673、作X31=|A|、X32=|B|;#>> X31=det(A)X32=det(B)X31 =X32 ='4、作X41=R(A)、X42=R(B);>> X41=rank(A)X42=rank(B)X41 =》6X42 =45、作X5=A-1;>> X5=eye(6)/A【X5 =`>> inv(A)X5 =~6、—7、求满足矩阵方程XA=C的解矩阵X6,其中C为A的第i列乘以列标i所得矩阵;>> C=A.*[1,2,3,4,5,6;1,2,3,4,5,6;1,2,3,4,5,6;1,2,3,4,5,6;1,2,3,4,5,6;1,2,3,4,5,6]X6=C/AC =(3 8 -34 -45 606 10 0 28 20 -961 -8 21 -4 30 -482 -8 15 -24 60 -48-3 12 -21 32 -5 6)8 -8 27 4 15 0X6 =—8、求满足方程AX=b的解向量X7;>> X7=A\b'|X7 =—9、作X6的特性向量X8、X6的特征向量组X及对角阵D;>> X8=eig(X6)X8 =—、>> [X,D]=eig(X6)X =(D ={0 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 0(0 0 0 0 010、作X9=B2 (A-1)2;>> X9=B^2*(inv(A))^2X9 =%11、{12、创建从2开始公差为4的等差数列前15项构成的行向量X10。
>> X10=2:4:60X10 =2 6 10 14 18 22 26 30 34 38 42 46 50 54 5813、将本实验中的矩阵A与B的对应元素相乘X11、对应元素相除X12并观察分母为零时的结果;:>> X11=A.*BX11 =3 8 -4 6 27 2042 45 0 -35 32 1128 -44 140 -1 30 -40、20 -60 140 -78 -12 -72-36 114 -252 200 7 2316 -16 54 -3 0 0>> X12=A./BX12 =<[Inf 0>> det(B)X12 =14、求b每个元素自身次幂所得的行向量X13。
|>> X13=b.^bX13 =+011 *15、产生一长度为20的正态分布的随机向量X14【>> X14=randn(1,20)X14 =Columns 1 through 11Columns 12 through 20、1.求X14的最大值及其在X14中的位置。
>> [C,I] = max(X14)C =;I =92.将X14排序并给出排序后各元素在X14中的位置>> [B,IX] = sort(X14)B =(Columns 1 through 10Columns 11 through 20IX =《Columns 1 through 173 11 6 7 16 17 145 8 1 15 13 4 19 20 18 2Columns 18 through 2010 12 93.将X14变形为5行4列的矩阵X15,再将X15实行左右翻转并逆时针旋转90o。
>> X15=reshape(X14,5,4)X15 =>> X15=rot90(fliplr(X15))X15 =16、列出本实验中的所有变量。
>> whosName Size Bytes Class AttributesA 6x6 288 doubleB 1x20 160 doubleC 1x1 8 doubleD 6x6 288 doubleI 1x1 8 doubleIX 1x20 160 doubleX 6x6 288 doubleX10 1x15 120 doubleX11 6x6 288 doubleX12 6x6 288 doubleX13 1x6 48 doubleX14 1x20 160 doubleX15 4x5 160 doubleX21 6x6 288 doubleX22 6x6 288 doubleX23 6x6 288 doubleX24 6x6 288 doubleX31 1x1 8 doubleX32 1x1 8 doubleX41 1x1 8 doubleX42 1x1 8 doubleX5 6x6 288 doubleX6 6x6 288 doubleX7 6x1 48 doubleX8 6x1 48 doubleX9 6x6 288 double b 1x6 48 double。