太原理工大学现代科技学院MATLAB 矩阵和数组的操作实验报告文档格式.docx
《太原理工大学现代科技学院MATLAB 矩阵和数组的操作实验报告文档格式.docx》由会员分享,可在线阅读,更多相关《太原理工大学现代科技学院MATLAB 矩阵和数组的操作实验报告文档格式.docx(11页珍藏版)》请在冰豆网上搜索。
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
100
000
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)
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]
12
56
B=inv(A)
-1.50000.5000
1.2500-0.2500
四、练习
1.创建一个5*5矩阵,提取住对角线以上的部分。
A=rand(5,5)
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)
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
0.69790.85370.8998
0.37840.59360.8216
0.86000.49660.6449
816
357
492
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)
0.54660.62130.5226
0.44490.79480.8801
0.69460.95680.1730
B=A'
C=inv(A)
0.54660.44490.6946
0.62130.79480.9568
0.52260.88010.1730
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
0.96010.26790.21260.2071
0.72660.43990.83920.6072
0.41200.93340.62880.6299
0.74460.68330.13380.3705
b=
2
3
4
x=
0.22090.22270.14370.1598
②>
linsolve(A,b)
0.87290.66490.81880.6873
0.23790.87040.43020.3461
0.64580.00990.89030.1660
0.96690.13700.73490.1556
ans=
[141104154301010653655869722617759472290645667717336001371848048640/50399832594609036029644711457107495018606472528542590522133338839]
[188848975313652446796351161733576614585665265865775181025314340864/50399832594609036029644711457107495018606472528542590522133338839]
[153214171780514282408806451432253555713142265086291465303018700800/50399832594609036029644711457107495018606472528542590522133338839]
[-471073957165806664061262598930221063180088644804283425613542326272/50399832594609036029644711457107495018606472528542590522133338839]
5.创建一个4阶随机矩阵A,计算A^3。
A=rand(4),B=A^3
0.45080.25480.90840.0784
0.71590.86560.23190.6408
0.89280.23240.23930.1909
0.27310.80490.04980.8439
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)
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]
12345
678910
1112131415
1617181920
2122232425
3016
17-69
023-4
970
41311
C=A*B
9315077
258335237
423520397
588705557
753890717
D=C(3:
5,2:
3)
520397
705557
890717