p2-基本操作与矩阵输入
·练习
>> cos(sqrt(((1+2+3+4)^3)/5))
ans =
-0.0050
>> sin(sqrt(pi))+log(tan(1))
ans =
1.4228
>> 2^(3.5*1.7)
ans =
61.8199
>> exp(sin(10))
ans =
0.5804
·变量
1、区分大小写
2、变量不可以数字开头
3、数值型变量默认类型是double
4、who和whos
·练习
>> format long
>> 3/13+4/14+5/15
ans =
0.849816849816850
>> format rat
>> 3/13+4/14+5/15
ans =
232/273
矩阵和向量
>> a = [1 2 3 4];
>> b = [1;2;3;4];
>> a*b
ans =
30
>> b*a
ans =
1 2 3 4
2 4 6 8
3 6 9 12
4 8 12 16
输入一个三阶矩阵:
>> a = [1 21 6; 5 17 9; 31 2 7]
a =
1 21 6
5 17 9
31 2 7
矩阵定位元素(Array Indexing),如上述矩阵:
a = [1 21 6; 5 17 9; 31 2 7]
a =
1 21 6
5 17 9
31 2 7
>> a(8)
ans =
9
>> a([1 3 5])
ans =
1 31 17
>> a([1 3; 1 3])
ans =
1 31
1 31
>> a(3,2)
ans =
2
>> a([1 3], [1 3]) % row1 row3 column1 column3
ans =
1 6
31 7
·练习
>> a = [1 21 6; 5 17 9; 31 2 7]
a =
1 21 6
5 17 9
31 2 7
>> a(3,:)=[]
a =
1 21 6
5 17 9
>> a(:,[2 3])=0
a =
1 0 0
5 0 0
分号(Colon Operator)
>> a = 1:5
a =
列 1 至 4
1 2 3 4
列 5
5
>> b = 1:2:5
b =
1 3 5
>> c = [1:5; 2:3:15; -2:0.5:0]
c =
列 1 至 4
1 2 3 4
2 5 8 11
-2 -3/2 -1 -1/2
列 5
5
14
0
>> str = 'a':2:'z'
str =
'acegikmoqsuwy'
Array Concatenation
>> A = [1 2;3 4]
A =
1 2
3 4
>> B =[9 9; 9 9]
B =
9 9
9 9
>> F = [A B]
F =
1 2 9 9
3 4 9 9
>> F = [A:B]
F =
列 1 至 4
1 2 3 4
列 5 至 8
5 6 7 8
列 9
9
Array Manipulation
a = [1 2 3; 4 5 6; 7 8 9];
>> b = [3 3 3; 2 4 9; 1 3 1];
>> c = 2;
>> a+c
ans =
3 4 5
6 7 8
9 10 11
>> a/c
ans =
1/2 1 3/2
2 5/2 3
7/2 4 9/2
>> a./c
ans =
1/2 1 3/2
2 5/2 3
7/2 4 9/2
>> a^c
ans =
30 36 42
66 81 96
102 126 150
>> a.^c
ans =
1 4 9
16 25 36
49 64 81
>> a' %转置
ans =
1 4 7
2 5 8
3 6 9
>> a+b
ans =
4 5 6
6 9 15
8 11 10
>> a*b
ans =
10 20 24
28 50 63
46 80 102
>> a.*b
ans =
3 6 9
8 20 54
7 24 9
>> a/b %前面的矩阵和后面的矩阵的逆矩阵相乘的乘积
ans =
1/14 2/7 3/14
15/14 2/7 3/14
29/14 2/7 3/14
>> a./b
ans =
1/3 2/3 1
2 5/4 2/3
7 8/3 9
一些特殊矩阵
>> linspace(0,13,6) %一个行向量,从0到13,共6个元素
ans =
列 1 至 4
0 13/5 26/5 39/5
列 5 至 6
52/5 13
一些矩阵函数
>> a = [1 2 3; 0 5 6; 7 0 9]
a =
1 2 3
0 5 6
7 0 9
>> max(a) %每一个column的最大值
ans =
7 5 9
>> max(max(a))
ans =
9
>> min(a) %每一个column的最大值
ans =
0 0 3
>> sum(a) %每一个column的和
ans =
8 7 18
>> mean(a) %每一个column的均值
ans =
8/3 7/3 6
>> sort(a) %对每一个column从小到大排序
ans =
0 0 3
1 2 6
7 5 9
>> sortrows(a) %每一个row绑定,按cloumn1排序
ans =
0 5 6
1 2 3
7 0 9
>> size(a) %row column
ans =
3 3
>> length(a) %数组长度
ans =
3
>> find(a) %返回矩阵中非零元素的位置
ans =
1
3
4
5
7
8
9
>> find(a==5) %矩阵中元素5的位置
ans =
5
>> find(a==6) %矩阵中元素6的位置
ans =
8
关于sort函数:
参见https://blog.csdn.net/oppo62258801/article/details/63262587
Y=sort(X,DIM,MODE)
参数DIM表示对哪一个维数进行排序,例如当X是一个二维矩阵,当DIM=1时表示对X的每一列进行排序,当DIM=2时表示对X的每一行进行排序。
参数MODE表示按哪一种模式进行排序,当MODE=‘ASCEND’的时进行升序排序,当MODE=‘DESCEND’时,进行降序排序。