机电113胡燕012579实验三.docx
- 文档编号:24602838
- 上传时间:2023-05-29
- 格式:DOCX
- 页数:14
- 大小:20.04KB
机电113胡燕012579实验三.docx
《机电113胡燕012579实验三.docx》由会员分享,可在线阅读,更多相关《机电113胡燕012579实验三.docx(14页珍藏版)》请在冰豆网上搜索。
机电113胡燕012579实验三
报告人:
胡燕年级:
机电113学号:
2011012579
实验日期:
2013-3-27报告完成日期:
2013/3/27
实验3 矩阵的建立和基本运算
(2)
一、实验目的
熟悉和掌握MATLAB中各种矩阵生成函数。
二、实验内容
1.随机矩阵的产生
A=rand(5,5)%产生5×5均匀分布随机矩阵
B=randn(5,5)%产生5×5正态分布随机矩阵
>>rand(5,5)
ans=
0.95010.76210.61540.40570.0579
0.23110.45650.79190.93550.3529
0.60680.01850.92180.91690.8132
0.48600.82140.73820.41030.0099
0.89130.44470.17630.89360.1389
>>randn(5,5)
ans=
-0.43261.1909-0.18670.11390.2944
-1.66561.18920.72581.0668-1.3362
0.1253-0.0376-0.58830.05930.7143
0.28770.32732.1832-0.09561.6236
-1.14650.1746-0.1364-0.8323-0.6918
2.单位矩阵的产生
A=eye(3,3)%产生3×3单位阵
eye(3,3)
ans=
100
010
001
3.全零、全1矩阵的产生
A=zeros(3,3)
B=ones(3,3)
>>A=zeros(3,3)
A=
000
000
000
B=
111
111
111
4.矩阵的翻转操作
A=rand(5,4)
>>A=rand(5,4)
A=
0.19340.69790.49660.6602
0.68220.37840.89980.3420
0.30280.86000.82160.2897
0.54170.85370.64490.3412
0.15090.59360.81800.5341
flipud(A)%进行上下翻转
>>flipud(A)
ans=
0.15090.59360.81800.5341
0.54170.85370.64490.3412
0.30280.86000.82160.2897
0.68220.37840.89980.3420
0.19340.69790.49660.6602
fliplr(A)%进行左右翻转
>>fliplr(A)
ans=
0.66020.49660.69790.1934
0.34200.89980.37840.6822
0.28970.82160.86000.3028
0.34120.64490.85370.5417
0.53410.81800.59360.1509
rot90(A)%逆时针旋转90度
>>rot90(A)
ans=
0.66020.34200.28970.34120.5341
0.49660.89980.82160.64490.8180
0.69790.37840.86000.85370.5936
0.19340.68220.30280.54170.1509
5.矩阵线性代数方面的运算
A=[1,3,5;4,9,3;2,0,5]
>>A=[1,3,5;4,9,3;2,0,5]
A=
135
493
205
A’%A转置
>>A'
ans=
142
390
535
det(A)%A的行列式,A必须是方阵
>>det(A)
ans=
-87
rank(A)%A的秩
>>rank(A)
ans=
3
inv(A)%A的逆
>>inv(A)
ans=
-0.51720.17240.4138
0.16090.0575-0.1954
0.2069-0.06900.0345
问题3.1矩阵A在什么时候不能求逆?
当A矩阵的行列式等于零的时候不能求逆
eig(A)%A的特征矢量
>>eig(A)
ans=
-1.4357
10.8515
5.5842
[X,D]=eig(A)%A的特征矢量及特征值
>>[X,D]=eig(A)
X=
0.9194-0.34330.1820
-0.2703-0.9319-0.7605
-0.2857-0.11730.6232
D=
-1.435700
010.85150
005.5842
A^2%矩阵A的幂运算
>>A^2
ans=
233039
469362
12635
6.构造多维数组
A1=[1,2,3;4,5,6;7,8,9];
A2=A1’,A3=A1-A2
>>A2=A1',A3=A1-A2
A2=
147
258
369
A3=
0-2-4
20-2
420
cat(1,A1,A2,A3)
>>cat(1,A1,A2,A3)
ans=
123
456
789
147
258
369
0-2-4
20-2
420
cat(2,A1,A2,A3)
>>cat(2,A1,A2,A3)
ans=
1231470-2-4
45625820-2
789369420
cat(3,A1,A2,A3)
>>cat(3,A1,A2,A3)
ans(:
:
1)=
123
456
789
ans(:
:
2)=
147
258
369
ans(:
:
3)=
0-2-4
20-2
420
7.字符串变量及其处理
s=’Hello’
>>s='Hello'
s=
Hello
s=[s;’Hello’]
>>s=[s;'Hello']
s=
Hello
whoss
>>whoss
NameSizeBytesClass
s2x520chararray
Grandtotalis10elementsusing20bytes
n=input('Howmanyapples')%先显示单引号中的字符串,向用户提示,再把%用户键入的数字或表达式赋给n
>>n=input('Howmanyapples')
Howmanyapples5
n=
5
三、思考题
1.产生3×4维全1矩阵,产生4×2维的随机矩阵,产生4×4的单位矩阵.
>>A=ones(3,4)
A=
1111
1111
1111
>>B=rand(4,2)
B=
0.72710.3704
0.30930.7027
0.83850.5466
0.56810.4449
>>C=eye(4,4)
C=
1000
0100
0010
0001
2.将A的第2行元素扩大2倍后作为A的第3行元素。
>>A=rand(3,4)
A=
0.69460.95680.17300.2523
0.62130.52260.97970.8757
0.79480.88010.27140.7373
>>B=2*A(2,1:
4)
B=
1.24261.04521.95951.7515
>>A(3,1:
4)=B
A=
0.69460.95680.17300.2523
0.62130.52260.97970.8757
1.24261.04521.95951.7515
3.输入任意矩阵A、B(它们的元素个数相等),命令A(:
)和A(:
)=B会产生什么结果?
>>A=rand(3,3)
A=
0.13650.19910.2844
0.01180.29870.4692
0.89390.66140.0648
>>B=rand(3,3)
B=
0.98830.51550.2259
0.58280.33400.5798
0.42350.43290.7604
>>A(:
)
ans=
0.1365
0.0118
0.8939
0.1991
0.2987
0.6614
0.2844
0.4692
0.0648
>>A(:
)=B
A=
0.98830.51550.2259
0.58280.33400.5798
0.42350.43290.7604
>>A=rand(3,4)
A=
0.52980.37980.46110.0592
0.64050.78330.56780.6029
0.20910.68080.79420.0503
>>B=rand(4,3)
B=
0.41540.76800.4387
0.30500.97080.4983
0.87440.99010.2140
0.01500.78890.6435
>>A(:
)=B
A=
0.41540.01500.99010.4983
0.30500.76800.78890.2140
0.87440.97080.43870.6435
A(:
)是把矩阵按存储顺序进行列排,成为1列的矩阵。
A(:
)=B是把B矩阵的元素按存储顺序替换为A的元素,且A的行数列数不变。
4.A=[1,3,5;5,8,3;6,1,6],B=[3,6;9,3;4,7],C=[3,7,9;4,5,7],D=2:
6,体会命令[A,B],[A;C],[A,B;D]所产生的结果,学习由小矩阵生成大矩阵的方法。
>>A=[1,3,5;5,8,3;6,1,6]
A=
135
583
616
>>B=[3,6;9,3;4,7]
B=
36
93
47
>>C=[3,7,9;4,5,7]
C=
379
457
>>D=[2:
6]
D=
23456
>>[A,B]
ans=
13536
58393
61647
>>[A;C]
ans=
135
583
616
379
457
>>[A,B;D]
ans=
13536
58393
61647
23456
5.计算表达式
的值。
>>x=exp(12)+(23^3)*log2(5)/tan(21)
x=
1.4426e+005
6.已知矩阵A=[52;91],B=[12;92],做简单的关系运算A>B,A==B,AB)。
>>A=[52;91]
A=
52
91
>>B=[12;92]
B=
12
92
>>A>B
ans=
10
00
>>A==B
ans=
01
10
>>A
ans=
00
01
>>(A==B)&(A
ans=
00
00
>>(A==B)&(A>B)
ans=
00
00
遇到问题及解决
1:
对MATLAB的一些命令不熟悉,比如求逆矩阵,冒号的应用,或与非的应用,后经过看书多编写程序就对这些命令熟悉了。
2:
在思考题中,刚开始看到题就没有思路,后来有看题,想到线性代数中的求法,就一步步做好了。
心得体会
本次实习主要是掌握和会应用矩阵的基本知识,通过实习发现MATLAB有很强大的对矩阵的处理功能,并且相较于以前学过的其他编程软件如C语言等MATLAB语句很简单,并且应用很方便。
在这次实习中我学会了矩阵的求逆、乘除加减的运算法则,能够利用MATLAB进行矩阵求逆、线性方程组的求解、矩阵转置、重排、元素求和、矩阵变换,还有矩阵的逻辑运算、操作符和特殊字符的使用。
通过这次实习我对MATLAB有了更多了解,也有了更大的兴趣,以后会更加努力的学习。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 机电 113 胡燕 012579 实验