实验二MATLAB矩阵及其运算

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验二 MATLAB矩阵及其运算
学号:3111004117 姓名:颜琼专业:11电本日期:2013.10.15
一、实验目的
1.掌握MATLAB数据对象的特点以及数据的运算规则。

2.熟悉MATLAB中建立矩阵的方法以及矩阵处理的方法。

3.掌握MATLAB的分析方法。

二、实验环境
计算机、MATLAB软件
三、实验内容
1.(1)新建一个.m文件,验证书本第15页例2-1;
(2)用命令方式查看和保存代码中的所有变量;
(3)用命令方式删除所有变量;
(4)用命令方式载入变量z。

2. 将x=[4/3 1.2345e-6]在以下格式符下输出:短格式、短格式e方式、长格式、长格式e方式、银行格式、十六进制格式、+格式,并在实验报告中说明各种格式符下输出的结果有何区别。

3.完成指导书1-3题的内容。

4.完成思考练习第5题的内容。

四、实验过程及结果
1、例1:
(1)新建立es1.m文件,在MATLAB命令窗口中输入:
x=1+2i;
y=3-sqrt(17);
z=(cos(abs(x+y))-sin(78*pi/180))/(x+abs(y))
运行得到输出结果如下:
>> es1
z =
-0.3488 + 0.3286i
>>
与例题结果一样,故,例1得到验证。

(2)用命令方式查看代码中的所有变量:
在命令窗口输入:
who whos
用命令方式保存代码中的所有变量:
在命令窗口输入:
save es1
(3) 用命令方式删除所有变量:
在命令窗口输入:
clear x y z
(4) 用命令方式载入变量z:
在命令窗口输入:
load es1 z
2、例2 :
新建立es2.m文件,在MATLAB命令窗口中输入:
x = [4/3 1.2345e-6]
format short
single(x)
format short e
single(x)
format long
single(x)
format long e
single(x)
format bank
single(x)
format hex
single(x)
format +
single(x)
运行得到输出结果为:
>> es2
x =
1.3333 0.0000
ans =
1.3333 0.0000
ans =
1.3333e+000 1.2345e-006
ans =
1.3333334 0.0000012
ans =
1.3333334e+000 1.2345000e-006
ans =
1.33 0.00
ans =
3faaaaab 35a5b119
ans =
++
>>
1、求表达式的值:
1)w = √2*(1+(0.34245*10^(-6)));
2)x = ((2*π*a)+((b+c)/(pi+a*b*c))-e^2)/(tan(b+c)+a),其中a=3.5,b=5, c=9.8;
3)y=2*π*α^2*((1-π/4)*β-(0.8333-π/4)*α),其中α=3.32,β=-7.9;
4)z=1/2*e^(2*t)*log(t+√(1+t*t));
1)新建立了l11.m文件,在MATLAB命令窗口中输入:
w = sqrt(2)*(1+(0.34245*10^(-6)))
运行得到输出结果为:
>> l11
w =
1.4142
>>
2)新建立l12.m文件,在MATLAB命令窗口中输入:
a = 3.5;
b = 5;
c = -9.8;
x = ((2*pi*a)+((b+c)/(pi+a*b*c))-exp(2))/(tan(b+c)+a)
运行得到输出结果为:
>> l12
x =
0.9829
>>
3)新建立l13.m文件,在MATLAB命令窗口中输入:
a=3.32;
b=-7.9;
y=2*pi*a^2*((1-pi/4)*b-(0.8333-pi/4)*a)
运行得到输出结果为:
>> l13
y =
-128.4271
>>
4)新建立l14.m文件,在MATLAB命令窗口中输入:
t=[2,1-3i;5,-0.65];
z=1/2*exp(2*t)*log(t+sqrt(1+t*t))
运行得到输出结果为:
>> l14
z =
1.0e+004 *
0.0057 - 0.0007i 0.0049 - 0.0027i
1.9884 - 0.3696i 1.7706 - 1.0539i
>>
2、已知:
A=[-1,5,4;0,7,8;3,61,7];
B=[8,3,-1;2,5,3;-3,2,0];
求表达式的值:
1)A+6B和A^2-B+I(其中I为单位矩阵);
2)A*B、A.*B、和B.*A;
3)A/B及B/A;
4)[A,B]和[A([1,3],:);B^2]。

1)新建立l21.m文件,在MATLAB命令窗口中输入:
A=[-1,5,4;0,7,8;3,61,7];
B=[8,3,-1;2,5,3;-3,2,0];
A+6*B
A^2-B+A*inv(A)
运行得到输出结果为:
>> l21
ans =
47 23 -2
12 37 26
-15 73 7
ans =
6 271 65
22 533 109
21 867 550
>>
2)新建立l22.m文件,在MATLAB命令窗口中输入:
A=[-1,5,4;0,7,8;3,61,7];
B=[8,3,-1;2,5,3;-3,2,0];
A*B
A.*B
B*A
运行得到输出结果为:
>> l22
ans =
-10 30 16
-10 51 21
125 328 180
ans =
-8 15 -4
0 35 24
-9 122 0
ans =
-11 0 49
7 228 69
3 -1 4
>>
3)新建立l23.m文件,在MATLAB命令窗口中输入:A=[-1,5,4;0,7,8;3,61,7];
B=[8,3,-1;2,5,3;-3,2,0];
A/B
B/A
运行得到输出结果为:
>> l23
ans =
-0.3936 1.2021 0.0851
-0.9468 2.3511 -0.9574
4.6170 3.8723 13.8936
ans =
-7.1979 3.2400 0.2674
- 1.7284 1.1600 0.0905
2.8737 -1.4000 -0.0421
>>
4)新建立l24.m文件,在MATLAB命令窗口中输入:
A=[-1,5,4;0,7,8;3,61,7];
B=[8,3,-1;2,5,3;-3,2,0];
[A,B]
[A([1,3],:);B^2]
运行得到输出结果为:
>> l24
ans =
-1 5 4 8 3 -1
0 7 8 2 5 3
3 61 7 -3 2 0
ans =
-1 5 4
3 61 7
73 37 1
17 37 13
-20 1 9
>>
3、已知:
A=[23,10,-0.778,0;41,-45,65,5;32,5,0,32;6,-9.54,54,3.14]; 完成下列操作:
1)输出A在[10,25]范围内的全部元素;
2)取出A前3行构成矩阵B,前两列构成C,右下角3*2子矩阵构成矩阵D,B与C的乘积构成矩阵E;
3)分别求表达式E<D、E&D、E|D和~E|~D。

1)新建立l31.m文件,在MATLAB命令窗口中输入:
A=[23,10,-0.778,0;41,-45,65,5;32,5,0,32;6,-9.54,54,3.14];
A(1,1:2)
运行得到输出结果为:
>> l31
ans =
23 10
>>
2)新建立l32.m文件,在MATLAB命令窗口中输入:
A=[23,10,-0.778,0;41,-45,65,5;32,5,0,32;6,-9.54,54,3.14];
B=A(1:3,:)
C=A(:,1:2)
D=A(2:4,3:4)
E=B*C
运行得到输出结果为:
>> l32
B =
23.0000 10.0000 -0.7780 0
41.0000 -45.0000 65.0000 5.0000
32.0000 5.0000 0 32.0000
C =
23.0000 10.0000
41.0000 -45.0000
32.0000 5.0000
6.0000 -9.5400
D =
65.0000 5.0000
0 32.0000
54.0000 3.1400
E =
1.0e+003 *
0.9141 -0.2239
1.2080
2.7123
1.1330 -0.2103
>>
3)新建立l33.m文件,在MATLAB命令窗口中输入:
A=[23,10,-0.778,0;41,-45,65,5;32,5,0,32;6,-9.54,54,3.14]; B=A(1:3,:);
C=A(:,1:2);
D=A(2:4,3:4);
E=B*C;
E<D
E&D
E|D
~E|~D
运行得到输出结果为:
>> l33
ans =
0 1
0 0
0 1
ans =
1 1
0 1
1 1
ans =
1 1
1 1
1 1
ans =
0 0
1 0
0 0
>>
5、求下列矩阵的主对角元素、上三角矩阵、下三角矩阵、逆矩阵、行列式的值、秩、范数、条件数和迹:
A=[1,-1,2,3;5,1,-4,2;3,0,5,2;11,15,0,9];
B=[0.43,43,2;-8.9,4,21];
1)新建立s51.m文件,在MATLAB命令窗口中输入:
A=[1,-1,2,3;5,1,-4,2;3,0,5,2;11,15,0,9];
A1=diag(A)
A2=triu(A)
A3=tril(A)
A4=inv(A)
A5=det(A)
A6=rank(A)
A7=trace(A)
A81=norm(A,1)
A82=norm(A)
A83=norm(A,inf)
A91=cond(A,1)
A92=cond(A)
A93=cond(A,inf)
运行得到输出结果为:
>> s51
A1 =
1
1
5
9
A2 =
1 -1
2 3
0 1 -4 2
0 0 5 2
0 0 0 9
A3 =
1 0 0 0
5 1 0 0
3 0 5 0
11 15 0 9
A4 =
-0.1758 0.1641 0.2016 -0.0227 -0.1055 -0.1016 -0.0391 0.0664 -0.0508 -0.0859 0.1516 0.0023 0.3906 -0.0313 -0.1813 0.0281
A5 =
1280
A6 =
4
A7 =
16
A81 =
20
A82 =
21.3005
A83 =
35
A91 =
14.4531
A92 =
11.1739
A93 =
22.0938
>>
2)新建立s52.m文件,在MATLAB命令窗口中输入:
B=[0.43,43,2;-8.9,4,21];
B1=diag(B)
B2=triu(B)
B3=tril(B)
B4=pinv(B)
B5=rank(B)
B6=trace(B)
B71=norm(B,1)
B72=norm(B)
B73=norm(B,inf)
B8=cond(B)
运行得到输出结果为:
>> s52
B1 =
0.4300
4.0000
B2 =
0.4300 43.0000 2.0000 0 4.0000 21.0000
B3 =
0.4300 0 0 -8.9000 4.0000 0
B4 =
0.0022 -0.0175
0.0234 -0.0017
-0.0035 0.0405
B5 =
2
B6 =
4.4300
B71 =
47
B72 =
43.4271
B73 =
45.4300
B8 =1.9354
>>
五、实验总结
做了这次的实验,才知道MATLAB的矩阵运算功能非常丰富,许多含有矩阵运算的复杂计算问题,在MATLAB中很容易得到解决。

在实验过程中,由于考虑的不是很全面,也遇到了一些问题,如rand()只能用于方阵行列式的值的计算,对于矩阵则要用sym()函数等问题。

还有许多常用的数学函数还需要去记,也可以去课本查表或者利用网络资源查找。

相关文档
最新文档