1.2MATLAB数据类型和常用函数

MATLAB数据类型

|-----|--------|----------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 数据类型 ||| 表示范围 |
| 整型 | 无符号整数 | 8位无符号整数 | 00000000~11111111 (0~-1) |
| 整型 | 无符号整数 | 16位无符号整数 | 00000000~11111111 (0~-1) |
| 整型 | 无符号整数 | 32位无符号整数 | 00000000~11111111 (0~-1) |
| 整型 | 无符号整数 | 64位无符号整数 | 00000000~11111111 (0~-1) |
| 整型 | 带符号整数 | 8位带符号整数 | 10000000~01111111 (~) 最左边的1表示符号负号 |
| 整型 | 带符号整数 | 16位带符号整数 | 10000000~01111111 (~) 最左边的1表示符号负号 |
| 整型 | 带符号整数 | 32位带符号整数 | 10000000~01111111 (~) 最左边的1表示符号负号 |
| 整型 | 带符号整数 | 64位带符号整数 | 10000000~01111111 (~) 最左边的1表示符号负号 |
| 浮点型 | 单精度型实数 | 4个字节 | |
| 浮点型 | 双精度型实数 | 8个字节 | |
| 复数型 | 双精度型 | 实部 | 用数字来表示 |
| 复数型 | 双精度型 | 虚部 | 用i或者j来表示 6 + 5i = 6 + 5j |

MATLAB内置的数据转换函数

|----------|-------------|------------------------|----------------------------------------------------------------------------------------------------|
| 类型 | 函数 | 作用 | 使用 |
| 类型 查询 | class(num) | 查询num的数据类型 | >>class(4) ans = double >>class(single(4)) ans = single |
| 控制 输出 格式 | format type | 控制输出的数据格式 | >>format long >>50/3 ans = 16.666666666666668 >>format >>50/3 ans = 16.6667 (默认输出格式为short) |
| 整型 | int8(num) | 将数字num转换成 带符号8位整数 | 如果num超过 了 带符号8位整数 的最大值 则转换成最大值 溢出部分舍去 例如:>>int8(129) ans = 127 |
| 整型 | uint8(num) | 将数字num转换成 不带符号8位整数 | >>uint8(129) ans = 129 |
| 浮点型 | single(num) | 将其他类型转换成单精度型 | |
| 浮点型 | double(num) | 将其他类型转换成双精度型 | |

MATLAB常用数学函数

|------------|------------------------------------------------------------------------------------------------------------------------|
| 函数 | 功能 |
| exp(num) | 返回 (参数可以是一个矩阵) |
| sin(pi/2) | 求正弦函数值,参数为弧度制 |
| sind(90) | 同上,参数为角度 |
| abs() | 求复数 |
| abs() | 求字符串ASCII |
| abs() | 求实数绝对值 |
| sqrt(num) | 求根 = |
| fix() | 英文译为固定,固定取靠近0的那个整数, 即舍去小数取整 |
| floor() | 英文译为地板,向下取整 取小于等于这个数的第一个整数 |
| ceil() | 英文译为天花板,所以是向上取整 取大于等于这个数的第一个整数 |
| round() | 按照四舍五入规则取整 |
| rem(m, 10) | 求m除以10的余数,等于m % 10 |
| isprime(n) | 判断n是否为素数,是就返回1 不是则返回0 |
| find(k) | 查找一串数字中为真的数字的序列 |

find()函数标比较特殊我们单独用代码来看一下:

Matlab 复制代码
>> 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输出了所有的素数,这个例子中素数和序号是一样的所以不是很明显。

相关推荐
河西石头几秒前
再谈C#的抽象类和接口:从“适配器”到“毛坯房”的设计哲学
开发语言·c#·接口·依赖注入·抽象类·依赖倒挂
颜x小3 分钟前
[C#]——接口与继承
开发语言·c++·c#
冻柠檬飞冰走茶5 分钟前
PTA基础编程题目集 7-17 爬动的蠕虫(C语言实现)
c语言·开发语言·数据结构·算法
咯哦哦哦哦7 分钟前
qt creator x86交叉编译arm 配置
开发语言·qt
乐启国际旅行社有限公司33 分钟前
Java线程池实战:文旅系统批量任务性能优化(团期生成/数据导出)
java·开发语言·性能优化
会编程的土豆1 小时前
LeetCode 热题 HOT100(一):哈希表与双指针入门(Go 实现)
算法·leetcode·职场和发展
学习中.........1 小时前
并行 BPE 训练 与 手写 `Tokenizer`
人工智能·算法·机器学习·语言模型
宸津-代码粉碎机1 小时前
告别手动Jar部署!生产级无损热部署方案,彻底解决OOM与更新失效问题
java·大数据·开发语言·人工智能·python
米码收割机1 小时前
【移动】线上购物移动端网站(源码+文档)【独一无二】
java·开发语言·前端·python·django
小肝一下1 小时前
多态(上)
android·开发语言·c++·vscode·多态·面向对象·伊蕾娜