MATLAB数据类型
数据类型 | 表示范围 | ||
整型 | 无符号整数 | 8位无符号整数 | 00000000~11111111 (0~-1) |
16位无符号整数 | |||
32位无符号整数 | |||
64位无符号整数 | |||
带符号整数 | 8位带符号整数 | 10000000~01111111 (~) 最左边的1表示符号负号 | |
16位带符号整数 | |||
32位带符号整数 | |||
64位带符号整数 | |||
浮点型 | 单精度型实数 | 4个字节 | |
双精度型实数 | 8个字节 | ||
复数型 | 双精度型 | 实部 | 用数字来表示 |
虚部 | 用i或者j来表示 6 + 5i = 6 + 5j |
MATLAB内置的数据转换函数
类型 | 函数 | 作用 | 使用 |
类型 查询 | class(num) | 查询num的数据类型 | >>class(4) ans = single |
控制 输出 格式 | format type | 控制输出的数据格式 | >>format long ans = 16.666666666666668 >>50/3 ans = 16.6667 |
整型 | int8(num) | 将数字num转换成 带符号8位整数 | 如果num超过了 的最大值 溢出部分舍去 例如:>>int8(129) ans = 127 |
uint8(num) | 将数字num转换成 不带符号8位整数 | >>uint8(129) | |
浮点型 | single(num) | 将其他类型转换成单精度型 | |
double(num) | 将其他类型转换成双精度型 |
MATLAB常用数学函数
函数 | 功能 |
exp(num) | 返回 (参数可以是一个矩阵) |
sin(pi/2) | 求正弦函数值,参数为弧度制 |
sind(90) | 同上,参数为角度 |
abs() | 求复数的模 |
求字符串的ASCII | |
求实数的绝对值 | |
sqrt(num) | 求根 = |
fix() | 英文译为固定,固定取靠近0的那个整数, 即舍去小数取整 |
floor() | 英文译为地板,向下取整 取小于等于这个数的第一个整数 |
ceil() | 英文译为天花板,所以是向上取整 取大于等于这个数的第一个整数 |
round() | 按照四舍五入规则取整 |
rem(m, 10) | 求m除以10的余数,等于m % 10 |
isprime(n) | 判断n是否为素数,是就返回1 不是则返回0 |
find(k) | 查找一串数字中为真的数字的序列 |
find()函数标比较特殊我们单独用代码来看一下:
>> k = 1 : 100; >> b = isprime(k); >> x = find(b) x = 列 1 至 12 2 3 5 7 11 13 17 19 23 29 31 37 列 13 至 24 41 43 47 53 59 61 67 71 73 79 83 89 列 25 97 >> p = k(x) p = 列 1 至 12 2 3 5 7 11 13 17 19 23 29 31 37 列 13 至 24 41 43 47 53 59 61 67 71 73 79 83 89 列 25 97 >>
可以看到最后x给所有1~100之间的数字编了序号,然后只返回了素数对应的序号,
p输出了所有的素数,这个例子中素数和序号是一样的所以不是很明显。