目录
一、简单的数学运算
1、变量名不应当覆盖内置函数名
在MATLAB中,变量的调用优先级(calling priority)高于函数,因此变量名不应该覆盖内置函数.
2、计算数学表达式
cos(((1+2+3+4)^3/5)^0.5)
cos(sqrt((1+2+3+4)^3/5))
ans =
-0.0050
((1+2+3+4)^3/5)^0.5
ans =
14.1421
>> cos(ans)
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
format long
>> 3/13+4/14+5/15
ans =
0.849816849816850
>> format rat //计算结果为有理数
>> 3/13+4/14+5/15
ans =
232/273
二、向量和数组的运算
1、向量的输入和运算
A=[1 2 3 4 ] //row vector
A =
1 2 3 4
>> B=[1;2;3;4] //Column vector
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
2、调取矩阵中的值(indexing)
>> A=[1 21 6;5 17 9;31 2 7]
A =
1 21 6
5 17 9
31 2 7
>> A(8) //按照顺序entry
ans =
9
>> A(1,2) //A=(row,column)
ans =
21
3、使用冒号运算符创建向量
>> B=1:5 //从一到五的row vector
B =
1 2 3 4 5
>> A=1:2:5 //从一到五间隔为2的row vector
A =
1 3 5
>> C=[1:5;2:3:15;-2:0.5:0]
C =
1.0000 2.0000 3.0000 4.0000 5.0000
2.0000 5.0000 8.0000 11.0000 14.0000
-2.0000 -1.5000 -1.0000 -0.5000 0
>> str='a':2:'z'
str =
'acegikmoqsuwy'
4、矩阵的元素替换、删除合并
>> A=[1 21 6;5 17 9;31 2 7] //创建矩阵
A =
1 21 6
5 17 9
31 2 7
>> A(3,:) //显示第三行row vector
ans =
31 2 7
>> A(3,:)=[] //删除第三行row vector
A =
1 21 6
5 17 9
>> A(1,2)=77 //替换坐标为(1,2)的元素
A =
1 77 6
5 17 9
>> A=[1 2;3 4]; //矩阵的合并
>> B=[9 9;9 9];
>> F=[A B] //水平方向
F =
1 2 9 9
3 4 9 9
>> clear F
>> F=[A;B] //垂直方向
F =
1 2
3 4
9 9
9 9
5、矩阵的运算(矩阵与矩阵、矩阵与元素)
>> A=[1 2 3;4 5 4;9 8 7];
>> B=[3 3 3;2 4 9;1 3 1];
>> Y1=A+B //矩阵加法运算
Y1 =
4 5 6
6 9 13
10 11 8
>> Y2=A*B //矩阵乘法运算
Y2 =
10 20 24
26 44 61
50 80 106
>> Y3=A.*B //矩阵中的元素相乘
Y3 =
3 6 9
8 20 36
9 24 7
>> a=2
a =
2
>> X1=A+a //每个元素+a
X1 =
3 4 5
6 7 6
11 10 9
>> X2=A/a //每个元素/a
X2 =
0.5000 1.0000 1.5000
2.0000 2.5000 2.0000
4.5000 4.0000 3.5000
>> X3=A./a //每个元素/a
X3 =
0.5000 1.0000 1.5000
2.0000 2.5000 2.0000
4.5000 4.0000 3.5000
>> C=A' //A的逆矩阵
C =
1 4 9
2 5 8
3 4 7
6、定义特殊矩阵
>> eye(5) //得到一个n × n的单位矩阵
ans =
1 0 0 0 0
0 1 0 0 0
0 0 1 0 0
0 0 0 1 0
0 0 0 0 1
>> zeros(1,2) //得到一个n1*n2的全0矩阵
ans =
0 0
>> ones(2,2) //得到一个n1*n2的全1矩阵
ans =
1 1
1 1
>> diag([1 2 3 4]) //得到一个以向量vector中内容为对角线的对角矩阵
ans =
1 0 0 0
0 2 0 0
0 0 3 0
0 0 0 4
7、操作矩阵的函数
>> 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)) //对于一维数组来说 max函数是求整个数组的最大值
ans =
9
>> sum(A) //每一列column的和
ans =
8 7 18
>> mean(A) //每一列column的平均
ans =
2.6667 2.3333 6.0000
>> sort(A) //列向量column中从小到大排序
ans =
0 0 3
1 2 6
7 5 9
>> sortrows(A) //根据列向量的首位元素进行行row的排序
ans =
0 5 6
1 2 3
7 0 9
>> size(A) //矩阵的尺寸n1*n2
ans =
3 3
>> length(A) //矩阵最大行数(dimension)
ans =
3
>> find(A) //整个矩阵的元素
ans =
1
3
4
5
7
8
9
>> find(A==6) //元素值为6的矩阵位置
ans =
8