太原理工大学现代科技学院MATLAB 矩阵和数组的操作实验报告.docx
《太原理工大学现代科技学院MATLAB 矩阵和数组的操作实验报告.docx》由会员分享,可在线阅读,更多相关《太原理工大学现代科技学院MATLAB 矩阵和数组的操作实验报告.docx(11页珍藏版)》请在冰豆网上搜索。
太原理工大学现代科技学院MATLAB矩阵和数组的操作实验报告
实验名称矩阵和数组的操作同组人
专业班级学号姓名成绩
一、实验环境
计算机MATLAB软件
二、实验目的
1.掌握矩阵和数组的一般操作,包括创建`保存`修改和调用等。
2.学习矩阵和数组的加减运算与乘法。
3.掌握对数组中的元素的寻访与赋值,会对数组进行一般的操作.
三、实验内容与步骤
1.用三种方法创建一个3*3矩阵,然后利用矩阵编辑器,将其扩充为4*5矩阵,并保存,试着调用它。
(1)直接输入法
如在命令区输入A=[3,2,1;4,5,6;7,8,9]
>>A=[3,2,1;4,5,6;7,8,9]
A=
321
456
789
(2)直接利用MATLAB提供的函数创建一个3*3矩阵。
如在命令区输入rand(3,3)即得到一个3*3的随机矩阵
>>B=rand(3,3)
B=
0.95010.48600.4565
0.23110.89130.0185
0.60680.76210.8214
(3)利用MATLAB提供给的“MatrixEditor”完成输入。
步骤1在命令区输入A=1.
步骤2用鼠标单击工具栏的工作区浏览器,MATLAB弹出变量浏览器,选中变量A,鼠标左键双击A,打开矩阵浏览器。
步骤3在左下脚的两个文本框中分别输入希望得到的矩阵的行数和列数:
3行3列,即得到一个3*3矩阵。
步骤4要将上面矩阵改为一个4×5矩阵,只需改变矩阵的行数和列数即可。
如将3行3列改为4行5列,即可得到一个4*5矩阵。
若想修改其中的元素,只需用鼠标选中表格中我们想要修改的元素,将原来的元素修改为我需要的值。
步骤5要命令区输入savedataA(data为我们变量文件起的名称,系统会自动沿设定好的路径以“.mat”格式存储文件),即可保存在上面例子中创建的矩阵A.
步骤6在命令区输入loaddata即可保存在文件中的矩阵读到MATLAB的命令工作区的内存中来。
>>C=1
C=
1
>>C
C=
100
000
000
>>C
C=
10203
04050
60708
00000
>>savedataC
>>loaddata
>>
2.建立一个等差数列,然后由它产生一个对角阵。
步骤1在命令区输入a=linspace(0,1.5,5)产生一个等差数列。
步骤2在命令区输入B=diag(a)产生一个对角阵。
>>a=linspace(0,1.5,5)
a=
00.37500.75001.12501.5000
>>B=diag(a)
B=
00000
00.3750000
000.750000
0001.12500
00001.5000
3.利用MATLAB的函数inv(A)求方阵A的逆矩阵。
步骤1在命令区输入A=[1,2;5,6]得到一个2×2的方阵。
步骤2再输入B=inv(A)求出A的逆矩阵。
>>A=[1,2;5,6]
A=
12
56
>>B=inv(A)
B=
-1.50000.5000
1.2500-0.2500
四、练习
1.创建一个5*5矩阵,提取住对角线以上的部分。
>>A=rand(5,5)
A=
0.44470.17630.89360.13890.1988
0.61540.40570.05790.20280.0153
0.79190.93550.35290.19870.7468
0.92180.91690.81320.60380.4451
0.73820.41030.00990.27220.9318
>>B=triu(A)
B=
0.44470.17630.89360.13890.1988
00.40570.05790.20280.0153
000.35290.19870.7468
0000.60380.4451
00000.9318
2.A=rand(3),B=magic(3),C=rand(3,4),计算A*B*C
>>A=rand(3),B=magic(3),C=rand(3,4),D=A*B*C
A=
0.69790.85370.8998
0.37840.59360.8216
0.86000.49660.6449
B=
816
357
492
C=
0.81800.28970.72710.5681
0.66020.34120.30930.3704
0.34200.53410.83850.7027
D=
22.321814.248622.609819.9167
16.471410.319015.972814.2467
18.389711.594319.113216.5834
3.创建一个3*3矩阵,并求其转置,逆矩阵。
>>A=rand(3)
A=
0.54660.62130.5226
0.44490.79480.8801
0.69460.95680.1730
>>B=A',C=inv(A)
B=
0.54660.44490.6946
0.62130.79480.9568
0.52260.88010.1730
C=
5.9121-3.2936-1.1030
-4.48322.25212.0854
1.06030.7672-1.3257
4.用两种方法求Ax=b的解(A为4阶随机矩阵,b为4阶列向量)。
①>>A=rand(4),b=(1:
4)',x=b\A
A=
0.96010.26790.21260.2071
0.72660.43990.83920.6072
0.41200.93340.62880.6299
0.74460.68330.13380.3705
b=
1
2
3
4
x=
0.22090.22270.14370.1598
②>>A=rand(4),b=(1:
4)',linsolve(A,b)
A=
0.87290.66490.81880.6873
0.23790.87040.43020.3461
0.64580.00990.89030.1660
0.96690.13700.73490.1556
b=
1
2
3
4
ans=
[141104154301010653655869722617759472290645667717336001371848048640/50399832594609036029644711457107495018606472528542590522133338839]
[188848975313652446796351161733576614585665265865775181025314340864/50399832594609036029644711457107495018606472528542590522133338839]
[153214171780514282408806451432253555713142265086291465303018700800/50399832594609036029644711457107495018606472528542590522133338839]
[-471073957165806664061262598930221063180088644804283425613542326272/50399832594609036029644711457107495018606472528542590522133338839]
5.创建一个4阶随机矩阵A,计算A^3。
>>A=rand(4),B=A^3
A=
0.45080.25480.90840.0784
0.71590.86560.23190.6408
0.89280.23240.23930.1909
0.27310.80490.04980.8439
B=
1.72091.35081.43470.9875
2.83622.81751.83532.2541
1.78091.32381.15021.0112
2.26222.63611.40242.1656
6.求100~999之间被21整除的数的个数。
(提示:
先利用冒号表达式,再利用find和length函数。
)
>>A=100:
999;
>>B=find(mod(A,21)==0);
>>C=length(B)
C=
43
7.设有矩阵A和B
(1)求它们的乘积C=A×B.。
(2)将矩阵C的右下角3×2子矩阵赋给D。
>>A=[1:
5;6:
10;11:
15;16:
20;21:
25],B=[3,0,16;17,-6,9;0,23,-4;9,7,0;4,13,11]
A=
12345
678910
1112131415
1617181920
2122232425
B=
3016
17-69
023-4
970
41311
>>
>>C=A*B
C=
9315077
258335237
423520397
588705557
753890717
>>D=C(3:
5,2:
3)
D=
520397
705557
890717