实验一 矩阵基本运算(一)
(1)设A和B是两个同维同大小的矩阵,问:
1)A*B和A.*B的值是否相等?
763514432A
945253134B
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矩阵。
>> x=(1:2:23)
x =
1 3 5 7 9 11 13 15 17 19
21 23
>> A=zeros(3,4)
A =
0 0 0 0
0 0 0 0
0 0 0 0
>> A(:)=x
A =
1 7 13 19
3 9 15 21
5 11 17 23
7)求一个字符串的ASCII码。
>> A='I love my mother'
A =
I love my mother
>> double(A)
ans =
73 32 108 111 118 101 32 109 121 32
109 111 116 104 101 114
i love china
>> double(A)
ans =
105 32 108 111 118 101 32 99 104 105 110
97
8)求一个ASCII码所对应的字符。
>> char(double(A))
ans =
I love my mother
(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);
>> A=1:9;B=10-A;
>> L1=A==B
L1 =
0 0 0 0 1 0 0 0 0
>> L2=A<=5
L2 =
1 1 1 1 1 0 0 0 0
>> L3=A>3&A<7
L3 =
0 0 0 1 1 1 0 0 0
>> L4=find(A>3&A<7)
L4 =
4 5 6
小结实验心得体会
第一次做MATLAB上机实验,有些东西书本上没有,通过同学交流和网上查找,找到了相关知识点,速度很慢,速度有待提高,我们线性代数还没学,A*B是怎么来的也不知道,不过对实验好像没什么影响,本次实验也完成的较为顺。但对于定义用的名称及符号不是很熟悉,有待加强,需要继续努力。