当前位置:文档之家› 矩阵和数组的操作 实验报告

矩阵和数组的操作 实验报告

实验报告
课程名称:MATLAB上机实验实验项目:矩阵和数组的操作
实验地点:
专业班级:学号
学生姓名:
指导教师:
年月日
实验二矩阵和数组的操作
一.实验环境
计算机 MATLAB软件
二.实验目的
1.掌握矩阵和数组的一般操作,包括创建、保存、修改和调用等。

2.学习矩阵和数组的加减运算与乘法。

3.掌握对数组元素的寻访与赋值,会对数组进行一般的操作。

三.实验内容与步骤
1.用三种方法创建一个3×3矩阵,然后利用矩阵编辑器,将其扩充为4×5矩阵,并保存,试着调用它。

2.建立一个等差数列,然后由它产生一个对角阵。

3.利用MATLAB的函数inv(A)求方阵的逆矩阵。

解:1.
(1)
>> A=[3,2,1;4,5,6;7,8,9]
A =
3 2 1
4 5 6
7 8 9
(2)
A=rand(3,3)
A =
0.9501 0.4860 0.4565
0.2311 0.8913 0.0185
0.6068 0.7621 0.8214
2.
> a=linspace(0.1,5,5)
a =
0 0.3750 0.7500 1.1250 1.5000
>> B=diag(a)
B =
0 0 0 0 0
0 0.3750 0 0 0
0 0 0.7500 0 0
0 0 0 1.1250 0
0 0 0 0 1.5000
3.
>> A=[1,2;5,6]
A =
1 2
5 6
>> B=inv(A)
B =
-1.5000 0.5000
1.2500 -0.2500
四.练习题
1.创建一个5×5矩阵,提取主对角线以上的部分。

>> A=rand(5,5)
A =
0.4447 0.1763 0.8936 0.1389 0.1988
0.6154 0.4057 0.0579 0.2028 0.0153
0.7919 0.9355 0.3529 0.1987 0.7468
0.9218 0.9169 0.8132 0.6038 0.4451
0.7382 0.4103 0.0099 0.2722 0.9318
>> B=triu(A)
B =
0.4447 0.1763 0.8936 0.1389 0.1988
0 0.4057 0.0579 0.2028 0.0153
0 0 0.3529 0.1987 0.7468
0 0 0 0.6038 0.4451
0 0 0 0 0.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)
A =
0.4660 0.5252 0.8381
0.4186 0.2026 0.0196
0.8462 0.6721 0.6813
B =
8 1 6
3 5 7
4 9 2
C =
0.3795 0.7095 0.1897 0.3028
0.8318 0.4289 0.1934 0.5417
0.5028 0.3046 0.6822 0.1509
>> D=A*B*C
D =
16.2278 13.1844 9.2577 9.6107
4.8656 4.7624 3.7848 2.6921
18.5715 15.9959 11.7862 10.7667
3.创建一个3×3矩阵,并求其转置,逆矩阵。

>> A=[1,2,3;4,5,6;7,8,9]
A =
1 2 3
4 5 6
7 8 9
>> B=A'
B =
1 4 7
2 5 8
3 6 9
>> C=inv(A)
C =
1.0e+016 *
-0.4504 0.9007 -0.4504
0.9007 -1.8014 0.9007
-0.4504 0.9007 -0.4504
4.用两种方法求Ax=b的解(A为4阶随机矩阵,b为4阶列向量)。

第一种方法:
>> A=rand(4,4)
A =
0.6979 0.5936 0.6449 0.2897
0.3784 0.4966 0.8180 0.3412
0.8600 0.8998 0.6602 0.5341
0.8537 0.8216 0.3420 0.7271
>> b=[1;2;3;4]'
b =
1
2
3
4
>> B=inv(A)
B =
5.5841 -1.5631 -4.4313 1.7633
-6.0656 -1.0402 9.2146 -3.8633
1.2126 1.6437 -1.7053 -0.0019
-0.2722 2.2375 -4.4079 3.6715
>> x=B*b
x =
-3.7828
4.0446
-0.6235
5.6652
第二种方法:
>> linsolve(A,b)
ans =
-3.7828
4.0446
-0.6235
5.6652
5.创建一个4阶随机矩阵A,计算A3。

>>A= rand(4,4)
A =
0.3093 0.7027 0.6213 0.8801
0.8385 0.5466 0.7948 0.1730
0.5681 0.4449 0.9568 0.9797
0.3704 0.6946 0.5226 0.2714
>> B=A^3
B =
3.1558 3.4377
4.4070 3.5635
3.1635 3.5662
4.4434 3.5408
3.7880
4.1643
5.2663 4.1574
2.4193 2.6992
3.4251 2.8220
6.求100—999之间能被21整除的数的个数。

>> A=100:999;
>> a=mod(A,21);
>> b=find(a==0);
>> x=length(b)
x =
43
7.设有矩阵A和B
A =
1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
16 17 18 19 20
21 22 23 24 25
B =
3 0 16
17 -6 9
0 23 -4
9 7 0
4 13 11
[1]求它们的乘积C=A×B
[2]将矩阵C的右下角3×2子矩阵赋给D
>> A=[1:5;6:10;11:15;16:20;21:25]
A =
1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
16 17 18 19 20
21 22 23 24 25
>> B=[3,0,16;17,-6,9;0,23,-4;9,7,0;4,13,11]
B =
3 0 16
17 -6 9
0 23 -4
9 7 0
4 13 11
>> C=A*B
C =
93 150 77 258 335 237 423 520 397 588 705 557 753 890 717
>> D=C(3:5,2:3)
D =
520 397
705 557
890 717。

相关主题