Matlab 数值数据
数值类型的分类
整型
8
、16
、32
、64
位- 无符号和带符号
无符号:$ 0 \sim \space2^8 - 1$
uinit8
函数可将数值数据转换为无符号八位整数
带符号:$-2^7 \sim 2^7 - 1$
int8
函数可将数值数据转换为带符号八位整数- 若发生溢出,转换结果为最接近不溢出情况下结果的值
- 例如
x=int8(129), x=127
浮点型
单精度
float
型4
个字节- 使用
single
函数将数值数据转换为单精度浮点型
- 使用
双精度
double
型8
个字节- 使用
double
函数将数值数据转换为双精度浮点型 - 数值数据默认是双精度类型
- 使用
复数型
- 实部和虚部默认为双精度类型
- 虚数单位用
i
或j
表示 - 使用
real
函数求复数的实部、imag
函数求复数的虚部
字符串
- 字符串以矩阵方式存储,若字符串有
n
个字符,相当于输入nx1
维字符矩阵
- 字符串以矩阵方式存储,若字符串有
输出格式
可以使用format 输出格式
设置输出格式
输出格式 | 描述 |
---|---|
short | 输出小数点后4位,且使用科学计数法 |
long | 输出小数点后15位,且使用科学计数法 |
shortG | 输出小数点后4位,不使用科学计数法 |
longG | 输出小数点后15位,不使用科学计数法 |
rat | 以有理数形式输出 |
常用的数学函数
- matlab中函数的自变量是矩阵,值是一个同型的矩阵,例如我们定义函数 $y=f(x)$,那么$f(\left(\begin{matrix}a&b \\c&d \\\end{matrix}\right))=\left (\begin{matrix}f(a)&f(b) \\f(c)&f(d) \\\end{matrix}\right)$
- 定义矩阵的方法 A = [a, b; c, d],其中用
,
分隔同一行的元素,;
作为分隔不同行的元素。 - 三角函数有以弧度为单位的函数也有以弧度为单位的函数,以角度为单位的函数在函数前加
d
例如 sin(pi/2) = sind(90)。 - 反三角函数在三角函数前加
a
,例如 asin(1) 和 asind(1)。 abs
函数可求实数的绝对值、复数的模、字符串的ASCII码值。
例如abs(-1)=1
abs(3+4i)=5
abs('a')=97
。round
四舍五入取整,同java.util.Mathcell
向上取整,同java.util.Mathfloor
向下取整,同java.util.Mathmod
取模,rem
求余,两者区别为mod(a, 0) = a
但rem(a, 0) = NaN
。fix
取整数部分,当x>0
时,同数学上的[x]
(取整函数),x<0
则不相同,例如fix(-3.2)=-3
,而[-3.2]=4。
isprime
当n是素数时返回1
,否则返回0
。
查找1~100之间的素数
candidate = 1:100; % 生成向量v=(1,2,3...100)
prime_judge = isprime(candidate); % 判断向量中的元素是否为素数
prime_index = find(prime_judge); % 搜索向量中为零元素,返回非零元素的索引
prime = candidate(prime_index) % 取出candidate中的素数