第一章Matlab概述
Matlab通用命令:
clc 清除命令行所有命令
clf 清除图形窗口
clear 清除工作区的内存变量
whos 列出工作区中变量的类型以及其他的信息
quit 退出matlab
Matlab 标点:
: 有多重含义
; 加“;”的话命令窗口不显著结果。
第二章 Matlab 数据类型
一. 数据类型:
- 整数类型
整数类型 数值范围 转换函数
有符号的8位整数 -2^7 ~2^7-1 int8
无符号的8位整数 0~2^8-1 Uint8
有符号的16位整数 -2^15 ~2^15-1 Int16
无符号的16位整数 0~2^16-1 Uint16
有符号的32位整数 -2^31 ~2^31-1 Int32
无符号的32位整数 0~2^32-1 Uint32
有符号的64位整数 -2^63 ~2^63-1 Int64
无符号的64位整数 0~2^64-1 Uint64
不同的整数类型所占的位数不同,因此能够表示的数值范围也不同,在实际应用中,应根据实际需求选择合适的整数类型。Matlab中数值的默认存储类型是双精度浮点数,因此将变量设置为整数类型时,需要使用相应的转换函数,将双精度浮点数转换为指定的整数类型。在转换过程中,matlab默认将待转换数值转换为与之最接近的整数值。如x=1.8, y=int8(x), y=2; x=1.2, y=int8(x), y=1。
取整函数:将浮点数转化为整数:
函数 运算法则 示例
#Floor(x) 向下取整
Floor(1.2)=1
Floor(2.5)=2
Floor(-2.5)=-3
#Ceil(x) 向上取整
Ceil(1.2)=2
Ceil(2.5)=3
Ceil(-2.5)=-2
#Round(x) 取最接近的整数
Round(1.2)=1
Round(2.5)=3
Round(-2.5)=-3 #如果小数部分是0.5,则向绝对值最大的方向取整
#Fix(x) 向0取整
Fix(1.2)=1
Fix(2.5)=2
Fix(-2.5)=-2
- 浮点型数值:单精度浮点数、双精度浮点数
浮点数类型 存储位宽 转换函数
单精度 32 Single
双精度 64 double
双精度浮点数参与运算时,返回值的类型依赖于参与运算的其他数据类型。参与运算的其他数据类型位逻辑性、字符型时,返回双精度浮点型;参与运算的为整数类型时,返回结果为相应的整数类型;参与运算的为单精度浮点型时,返回结果为单精度浮点型。注意:单精度浮点类型不能与整数类型进行算术运算。Single(3)*int8(5)会报错。
- 复数 (实部+虚部)a=complex(1,2)
- 无穷量(Inf)和非数值量(NaN)
MATLAB使用Inf和-Inf分别代表正无穷量和负无穷量,NaN表示非数值量。正负无穷量的产生一般是由于运算溢出,产生了超出双精度浮点数数值范围的结果。非数值量是由于0/0 或Inf/Inf类型的非常运算而产生的,这两个NaN彼此是不相等的。
二. 逻辑类型
Matlab支持数值运算、关系运算和逻辑运算。Matlab把任何非零数值当作真,输出1;把零当作假,输出0。
关系操作符 说明
< 小于
<= 小于或等于
= 大于或等
== 等于
~= 不等于
逻辑运算符
逻辑运算符 说明
& 与,符号两边都成立(非0),结果才成立(1)
| 或,符号两边有一侧为非0结果就为1
~ 非
其他关系与逻辑函数:
Xor(x,y): 异或运算,x和y同为零(假)或非零(真)时返回0,否则返回1.
Any(x):判断x的元素是否全为0,如果全为0返回0,否则返回1. 例如a=1:9, any((a>8)),返回1,any((a>9))返回0.