目录
-
一、基础知识
- 行与列不是由0开始计算而是1
- x(m,n),引用m行n列的数据
- x(k,m:n),引用k行m~n列的数据
- 字符串使用单引号括起来的序列,如'We are Chinese';若要在字符串中表现单引号,则需要使用双引号,如‘We"re Chinese';多行字符串可以形成矩阵
- 注释符号为%
-
二、计算函数
- 注意:优先级
- ~>+,-,*,^,/,\,.*,./,.\,.^>(<,>,>=,<=,==)>\,&
-
四则运算
-
加法/减法计算
- 由矩阵运算(两个矩阵大小必须一致),此外还可以对标量进行运算(运算时等同于矩阵中所有元素加m)
- 如
-
乘法运算
- A函数的行与B函数的列相同才能计算
- 如
-
除法运算
- 区分“/”和“\”前者与后者不同
- 如
-
逻辑运算
- &,|,~(非)
- 对于标量,直接进行比较;对于矩阵则为相应位置点进行比较,返回为同型矩阵;对于矩阵与标量,则将标量与矩阵中所有数据对比,返回为同型矩阵
- 如
-
点运算
- .*,./、.\、.^
- 对相同位置的元素进行运算,行列必须一致
- 如
-
关系运算符
- <、>、>=、<=、==、~=(不等于)
- 若两个标量相比,真返回1,假返回0;若两个同型矩阵相比,则将对应位置的元素进行对比返回值为一个0,1的同型矩阵;若一个标量与一个矩阵相比,则将该标量与矩阵中每一个元素进行对比形成一个0.1的同型矩阵
- 如
-
三、常用函数
- reshape(A,m,n)将以行存储的数据改为m*n方阵存储,
- 如
- A(:)将方阵改为列存储,
- 如
- sub2ind(size(A),m,n)-将下标转化为索引输出
- 如第一行第一列下标为1,第二行第二列下标为5
- [i,j]=ind2sub(size(A),m)-将索引转化为下标输出
- 如索引为4的数据下标为(1,2)
- rem(x, y)返回的是(x-fix(x./y)).*y,此时y~=0
mod(x, y)返回的是(x-floor(x./y)).*y,此时y~=0 - 当y>=0时,两者相等
- 因此他们之间的区别主要在与fix与floor的区别:
fix:向0取整
floor:向负无穷取整 - 如
- find(x)
- 找到x矩阵中非0元素的索引(以列的形式返回行)
- find(x,k)或find(x,k,'first')或find(x,k,'last')
- 找到x矩阵中非0元素k出现(或第一次出现/最后一次出现)之前的索引(以列的形式返回行)
- [i,j]=find(x,k)
- 找到x矩阵中非0元素k出现之前的坐标
- [i,j,v]=find(x,k)
- 找到x矩阵中非0元素k出现之前的坐标和索引(以列的形式返回列)
- 如
- B=revA(end:-1:1)
- 翻转数组(按照索引)
- 如
- size(A)
- 输出行数和列数(前行后列)
- 如
- length(A)
- 输出行数和列数中的较大值,等同于max(size(A))
- 如
- eval(A)
- 将字符串转化为可执行函数(建议搭配循环使用)
- 如
-