资源描述
实验一 矩阵基本运算(一)
一、实验目的
1.通过实验,进一步熟悉MATLAB编程环境
2.通过实验掌握建立矩阵的几种方法
3.通过实验理解常用的矩阵运算
二、实验环境
1.计算机
2.MATLAB7.0集成环境
三、实验说明
1.首先应熟悉MATLAB7.0运行环境,正确操作
2.自主编写程序,必要时参考相关资料
3.实验学时:2学时
四、实验内容和步骤
1.实验内容
(1)设A和B是两个同维同大小的矩阵,问:
1)A*B和A.*B的值是否相等?
A=[2 3 4;4 1 5;3 6 7];
B=[4 3 1;3 5 2;5 4 9];
A*B,
A. *B
ans =
37 37 44
44 37 51
65 67 78
ans =
8 9 4
12 5 10
15 24 63
2) A./B和B.\A的值是否相等?
A=[2 3 4;4 1 5;3 6 7];
B=[4 3 1;3 5 2;5 4 9];
A./B,
B./A
ans =
0.5000 1.0000 4.0000
1.3333 0.2000 2.5000
0.6000 1.5000 0.7778
ans =
2.0000 1.0000 0.2500
0.7500 5.0000 0.4000
1.6667 0.6667 1.2857
3) A/B和B\A的值是否相等?
A=[2 3 4;4 1 5;3 6 7];
B=[4 3 1;3 5 2;5 4 9];
A/B,
B/A
ans =
-0.3452 0.5119 0.3690
0.7857 -0.7857 0.6429
-0.9762 1.3095 0.5952
ans =
110.0000 -15.0000 -52.0000
92.0000 -13.0000 -43.0000
-22.0000 4.0000 11.0000
4) A/B和B\A所代表的数学含义是什么?
解: A/B是B*A的逆矩阵 B\A是B*A的逆矩阵
(2)写出完成下列操作的命令。
1)将矩阵A第2—5行中第1,3,5列元素赋给矩阵B。
A=[0.9501 0.4565 0.9218 0.4103 0.1389 0.0153
0.2311 0.0185 0.7382 0.8936 0.2028 0.7468
0.6068 0.8214 0.1763 0.0579 0.1987 0.4451
0.4860 0.4447 0.4057 0.3529 0.6038 0.9318
0.8913 0.6154 0.9355 0.8132 0.2722 0.4660
0.7621 0.7919 0.9169 0.0099 0.1988 0.4186]
B=A(2:5,[1,3,5])
A = 0.9501 0.4565 0.9218 0.4103 0.1389 0.0153
0.2311 0.0185 0.7382 0.8936 0.2028 0.7468
0.6068 0.8214 0.1763 0.0579 0.1987 0.4451
0.4860 0.4447 0.4057 0.3529 0.6038 0.9318
0.8913 0.6154 0.9355 0.8132 0.2722 0.4660
0.7621 0.7919 0.9169 0.0099 0.1988 0.4186
B = 0.2311 0.7382 0.2028
0.6068 0.1763 0.1987
0.4860 0.4057 0.6038
0.8913 0.9355 0.2722
2)删除矩阵A的第7号元素。
A=rand(6,6);
>> A(7)=[inf]
A =
0.8385 Inf 0.1730 0.1365 0.2844 0.5155
0.5681 0.6213 0.9797 0.0118 0.4692 0.3340
0.3704 0.7948 0.2714 0.8939 0.0648 0.4329
0.7027 0.9568 0.2523 0.1991 0.9883 0.2259
0.5466 0.5226 0.8757 0.2987 0.5828 0.5798
0.4449 0.8801 0.7373 0.6614 0.4235 0.7604
3)将矩阵A的每个元素值加30。
B=A+30
B =
30.9501 30.4565 30.9218 30.4103 30.1389 30.0153
30.2311 30.0185 30.7382 30.8936 30.2028 30.7468
30.6068 30.8214 30.1763 30.0579 30.1987 30.4451
30.4860 30.4447 30.4057 30.3529 30.6038 30.9318
30.8913 30.6154 30.9355 30.8132 30.2722 30.4660
30.7621 30.7919 30.9169 30.0099 30.1988 30.4186
4)求矩阵A的大小和维数。
N=size(A)
n=rank(A)
N =
6 6
n =
6
5)将向量t的0元素用机器零来代替。
A=[1 0 1 0 3 5]
A =
1 0 1 0 3 5
>> A(A==0)=[]
A =
1 1 3 5
6)将含有12个元素的向量x转换成3*4矩阵。
A=[1:12]
A =
1 2 3 4 5 6 7 8 9 10 11 12
>> reshape([A],3,4)
ans =
1 4 7 10
2 5 8 11
3 6 9 12
7)求一个字符串的ASCII码。
double abc
ans =
97 98 99
8)求一个ASCII码所对应的字符。
char(100)
ans =
d
(3)下列命令执行后,L1、L2、L3、L4的值分别是多少/
A=1:9;B=10-A;
L1=A==B;
L2=A<=5;
L3=A>3&A<7;
L4=find(A>3&A<7);
L1 =
0 0 0 0 1 0 0 0 0
L2 =
1 1 1 1 1 0 0 0 0
L3 =
0 0 0 1 1 1 0 0 0
L4 =
4 5 6
2.实验步骤
(1)分析实验内容,写出程序大致框架或完整的程序代码。
(2)进入MATLAB7.0集成环境。
(3)编辑程序并进行保存。
(4)运行程序,若有错误,修改错误后再次运行,如此反复进行到不显示出错为止。
(5)检查程序输出结果。
五、实验报告要求
1.整理实验结果,填入相应表格中
2.小结实验心得体会
在本次实验中,我学会了如何定义向量,掌握建立矩阵的几种方法,理解常用的矩阵运算,如何定义矩阵间的运算,本次实验也完成的较为顺。但对于定义用的名称及符号不是很熟悉,有待加强,需要继续努力。
展开阅读全文