1.1数值类型
基本的数值类型主要有(有无符号)整数、单精度和双精度。
matlab的数值默认为双精度浮点类型,将变量设置为整数类型时,需要用转换函数,在转换过程中,转换值转换为与之最接近的整数值,若小数部分为0.5,则往该浮点数最接近的两个整数中绝对值较大的一个。
MATLAB内置的取整函数
函数 | 运算法则 | e.g. |
floor(x) | 向下取整 | floor(1.2)=1 floor(-2.5)=-3 |
ceil(x) | 向上取整 | ceil(1.2)=2 ceil(-1.2)=-1 |
round(x) | 取最接近的整数, 小数为0.5则取绝对值大的 | round(2.5)=3
|
fix(x) | 向0取整 | fix(1.2)=1 |
单精度浮点类型不能和整数类型进行算术运算。
复数
函数 | 说明 | 函数 | 说明 |
---|---|---|---|
real(z) | 返回复数z的实部 | imag(z) | 返回复数z的虚部 |
abs(z) | 返回复数z的模 | angle(z) | 返回复数z的辐角 |
conj(z) | 返回z的共轭复数 | complex(a,b) | a为实部,b为虚部 |
无穷量和非数值量
Inf为正无穷,-Inf为负无穷,NaN为非数值量
1.2运算符
算术运算符
除了简单的四则运算,还有
算术运算符 | 运算法则 | 算术运算符 | 运算法则 |
---|---|---|---|
A./B | A与B相应元素相除 其中A、B为同维矩阵 | A.*B | A与B相应元素相乘 其中A、B为同维矩阵 |
A.^B | A的每个元素的B次幂 A为矩阵,B为数值 |
关系操作符 | 说明 | 关系操作符 | 说明 |
---|---|---|---|
< | 小于 | <= | 小于等于 |
> | 大于 | >= | 大于等于 |
== | 等于 | ~= | 不等于 |
逻辑运算符
& 与、| 或、~ 非
逻辑函数 | 运算法则 |
---|---|
xor(x,y) | 异或运算。x与y不同时,返回1,相同返回0 |
any(x) | 在一个向量或矩阵中,存在元素是非零的返回1,否则返回0 |
all(x) | 在一个向量和矩阵中,所有元素非零,返回1,否则返回0 |
在表达式中,算术运算符优先级最高,其次是关系运算符,最后是逻辑运算符。
1.3字符串
字符串或者字符串组可以通过变量赋值来实现,写在单引号里面,如果内容有单引号则需要两个重复的单引号来表示。
在构建多行字符时,如果写在【】内,则长度要相同,写在{}内则可以不同
matlab中的字符串函数
字符串函数 | 函数功能 | 字符串函数 | 函数功能 |
---|---|---|---|
eval(string) | 求字符串的值 | blanks(n) | 返回一个n个零或者空格的字符串 |
deblank | 去掉字符串后拖的空格 | feval | 求由字符串给定的函数值 |
findstr | 从一个字符串内找出字符串 | isletter | 字母存在时返回真值 |
isspace | 空格字符存在时返回真值 | Isstr | 输入一个字符串,返回真值 |
iasterr | 返回上一个产生错误的字符串 | strcmp | 字符串相同,返回真值 |
strrep | 用一个字符串替换另一个字符串 | strtok | 在一个字符串里找出第一个标志 |
函数strvcat和char函数用于纵向链接多个字符串,当多行字符串有空字符串时,strvcat函数会自动进行忽略,而char函数会把空字符用空格补偿后进行链接。
字符串的比较
用关系运算符进行比较时,要求字符串的长度要一样并返回字符串长度相等的数组,strcmp函数则返回0或者1。
字符串的查找和替换函数
可以通过findstr函数实现.findstr对大小写敏感,对字符串矩阵不起作用,所以字符串矩阵的搜索只能通过循环索引矩阵内的元素进行搜索
字符串的替换则可以通过字符串组相应元素直接赋值实现,也可以通过strrep函数实现。直接赋值法必须长度一样,strrep函数可以替换长度不同的字符串,但对字符串矩阵不起作用