百度文库 - 好好学习,天天向上
-1 实验二 Matlab矩阵的初等运算
实验目的:掌握Matlab的运算方法
实验内容:
在Matlab命令窗口输入:
H1=ones(3,2) H2=zeros(2,3) H3=eye(4)
观察以上各输入结果,并在每式的后面标注其含义。
>> format compact
>> H1=ones(3,2),disp('3行2列的全1矩阵')
H1 =
1 1
1 1
1 1
3行2列的全1矩阵
>> H2=zeros(2,3),disp('2行3列的全零矩阵')
H2 =
0 0 0 0 0 0
2行3列的全零矩阵
>> H3=eye(4),disp('4阶的单位矩阵')
H3 =
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
4阶的单位矩阵
已知123456Q,789P,10R,3S,试把这四个矩阵组合为一个大矩阵,看看有几种组合方式?8
>> format compact
>> Q=[1 2 3;4 5 6];P=[7 8 9];R=[1;0]; S=3;
>> [Q,R;P,S]
ans =
1 2 3 1
4 5 6 0
7 8 9 3
>> [R,Q;P,S]
ans =
1 1 2 3
0 4 5 6
7 8 9 3
>> [Q,R;S,P]
ans =
1 2 3 1
4 5 6 0
3 7 8 9
>> [R,Q;S,P]
ans =
1 1 2 3 0 4 5 6
3 7 8 9
>> [S,P;R,Q]
ans =
3 7 8 9
1 1 2 3
0 4 5 6
>> [S,P;Q,R]
ans =
3 7 8 9
1 2 3 1
4 5 6 0
>> [P,S;R,Q]
ans =
7 8 9 3
1 1 2 3
0 4 5 6
>> [P,S;Q,R]
ans =
7 8 9 3 百度文库 - 好好学习,天天向上
-2 1 2 3 1 4 5 6 0 建立一个字符串向量,删除其中的大写字母。提示:利用find函数和空矩阵。
>> a='ABCDefgijKLMN123'
a =
ABCDefgijKLMN123
>> k=find(a>='A'&a<='Z')
k =
1 2 3 4 10 11 12 13
>> a(k)=[]
a =
efgij123
在命令窗中分别输入who和whos,观察检查结果是否与所得结果相符。
>> who
Your variables are:
H1 H2 H3 P Q R S a ans k
>> whos
Name Size Bytes Class Attributes
H1 3x2 48 double
H2 2x3 48 double
H3 4x4 128 double
P 1x3 24 double
Q 2x3 48 double
R 2x1 16 double
S 1x1 8 double
a 1x8 16 char
ans 3x4 96 double
k 1x8 64 double
已知矩阵131254709716282113S,计算以下表达式的结果,体会*,^,sqrtm,expm与.*,.^,sqrt,exp的区别。
(1) r1=S^2, r2=2.^S , r3=S.^2,
(2) u1=sqrtm(S), v1=u1*u1
(3) u2=sqrt (S), v2=u2.*u2
(4) u3=expm(S), v3=logm(u3)
(5) u4=exp(S), v4=log(u4) 百度文库 - 好好学习,天天向上
-3 >> S=[1 3 12 5;4 7 0 9;7 1 6 2;8 2 11 3]
S =
1 3 12 5
4 7 0 9
7 1 6 2
8 2 11 3
>> r1=S^2
r1 =
137 46 139 71
104 79 147 110
69 38 142 62
117 55 195 89
>> r2=2.^S
r2 =
2 8 4096 32
16 128 1 512
128 2 64 4
256 4 2048 8
>> r3=S.^2
r3 =
1 9 144 25
16 49 0 81
49 1 36 4
64 4 121 9
>> u1=sqrtm(S)
u1 =
+ - - -
+ + + -
- + + +
- + - +
>> v1=u1*u1
v1 =
- + - +
+ - - +
+ - + -
+ - -
>> u2=sqrt (S)
u2 =
0
百度文库 - 好好学习,天天向上
-4 >> u3=expm(S)
u3 =
+008 *
>> v3=logm(u3)
v3 =
>> u4=exp(S)
u4 =
+005 *
>> v4=log(u4)
v4 =
1 3 12 5
4 7 0 9
7 1 6 2
8 2 11 3
对中定义的矩阵S完成以下变换,输出变换后的矩阵:
(1) 将矩阵S上下翻转
(2) 将矩阵S左右翻转
(3) 将矩阵S重组为一个2行8列的矩阵
(4) 将矩阵S整体逆时针旋转90°
(5) 提取矩阵S对角线上的元素
(6) 建立一个对角阵T,对角线上的元素为S对角线上的元素,其余元素为0
(7) 取出矩阵S的左下三角部分
(8) 取出矩阵S的右上三角部分
(9) 把矩阵S的元素按列取出排成一行
>> S=[1 3 12 5;4 7 0 9;7 1 6 2;8 2 11 3]
S =
1 3 12 5
4 7 0 9
7 1 6 2
8 2 11 3 >> flipud(S)
ans =
8 2 11 3
7 1 6 2
4 7 0 9
1 3 12 5
>> fliplr(S) 百度文库 - 好好学习,天天向上
-5 ans =
5 12 3 1
9 0 7 4
2 6 1 7
3 11 2 8
>> reshape(S,2,8)
ans =
1 7 3 1 12 6 5 2
4 8 7 2 0 11 9 3
>> rot90(S)
ans =
5 9 2 3
12 0 6 11
3 7 1 2
1 4 7 8
>> diag(S)
ans =
1
7
6
3
>> T=diag(S)
T =
1
7
6
3 >> T=diag(T)
T =
1 0 0 0
0 7 0 0
0 0 6 0
0 0 0 3
>> tril(S)
ans =
1 0 0 0
4 7 0 0
7 1 6 0
8 2 11 3
>> triu(S)
ans =
1 3 12 5
0 7 0 9
0 0 6 2
0 0 0 3
>> S(:)'
ans =
1 4 7 8 3 7 1 2 12 0 6 11 5
9 2 3
已知矩阵A=[1 3 5],B=[2 4 6]
(1) 求C=A+B,D=A-2,E=B-A
>> format compact
>> A=[1 3 5],B=[2 4 6]
A =
1 3 5
B =
2 4 6
>> C=A+B,D=A-2,E=B-A C =
3 7 11
D =
-1 1 3
E =
1 1 1
>> %都是按元素群运算
(2) 求F1=A*3,F2=A.*B,F3=A./B,F4=A.\B,F5=B.\A,F6=B.^A,F7=2./B,F8=B.\2.