工科必备工具,能力以内,通俗易懂~适合初期了解及当作学习零食食用,系统找本书好好看看,做做项目还是最主要的~当然作为工具,学会基础还应找到具体方向深入探索。
作为强大的数学计算软件,最初需要了解就是数据结构,全文一共包括如下几个内容:
- 数值类型(整数、单/双精度浮点数等)
- 逻辑类型(与或非)
- 字符串
- 函数句柄
- 结构体
- 单元数组
- map容器
(一) 数据类型
本节容易理解,以表格形式展示,结合实际操作,容易理解
数据格式/函数 | 示例用法 | 说明及作用 |
---|---|---|
有符号整形int;无符号整型uint | int16(1314) | 整形→整数,占用内存空间小于浮点型,有符号整形表示带‘-’‘+’。(整数不能与单精度浮点运算,可以与相同位和双精度浮点运算) |
单精度浮点类型:single | single() | 最多输出小数点后7位,存储位宽32. |
双精度浮点类型:double | double() | matlab默认数值类型,精度最高(最多后14位),占用内存空间最大,存储位宽64。 |
向下取整:floor(x) | floor(2.6)→ 2 floor(-2.6)→ -3 | 如示例 |
向上取整:ceil(x) | ceil(2.6)→ 3 ceil(-2.6)→ -2 | 如示例 |
四舍五入:round(x) | round(2.6)→ 3 round(2.4)→ 2 | 注意负数取绝对值方向:round(-2.5)= -3 |
去1取整:fix(x) | fix(2.6)→ 2 fix(-2.6)→ -2 | 无论小数点后面大小,去掉取整。 |
注释:复数及无穷量使用查询相关资料,初期学习,用法无特别之处。
(二) 逻辑类型
MATLAB逻辑类型初期学习类似于数学运算,包括逻辑运算符和关系操作符,分别是:
关系操作符(数学计算的计算机表达):<;<=;>;>=;==(恒等于);=(幅值);~=(不等于);
逻辑运算符:与 / 或 / 非 → & / | / ~
逻辑运算中’是‘输出‘1’,不是输出‘0’
(三)字符和字符串
字符实际为ASCII码,matlab以文本形式进行显示,使用中常使用‘单引号’括起来需要的文本。例如下面示例,‘hello word’是我们随便定义的字符串,它的大小实际是1行10列,每一列字母对应其ASCII码,具体数值大家可以自行百度。
string='hello word'
size(string)
ans =
1 10
(四)函数句柄
实际上是间接调用函数的一种方法,为了解决直接调用函数时子函数只能被同名主函数调用的问题(matlab文件中只允许有一个主函数)。也就是说,自定义一个变量来完成引用需要函数的功能,使用简单,matlab中创建句柄用@即可,例如:hanshu=@cos,那么以后调用hanshu()就是完成cos()功能。
(五)结构体类型
结构体就是把不同类型的数据储存在一起,创建方式有两种,通常使用struct函数进行创建。
(六)数组类型
数组自身属性以及数组之间逻辑关系对于编程非常重要,matlab中可以用‘:’来输出一些列数值,例如:shuzu=[1:5],输出[1 2 3 4 5],还可以加入步长,shuzu=[1:2:5],输出[1 3 5].
(七)单元数组
1.基础:
用cell函数创建,单元数组中每一个组成元素是它的单元,单元的可以是任意数组(结构体、字符串数组等均可)。也可以使用‘{}’进行赋值的方式来创造单元数组。
单元数组最大的优势在于预先分配连续存储空间,可以节约内存,使程序运行更快。
2.寻址:
创建单元数组X,使用小括号X(a,b)指的是寻找a行,b列的单元;使用大括号X{a,b}指的是寻找a行b列内单元内容。
(八)map容器
通俗理解,map就像一个按键功能,按了对应按键会输出一个一一对应的结果。创建方式如下:
object=containers.Map({key1....key100},{val1....val100});
调用时只需keys(object)/values(object)即可
还可以创建schedulemap函数访问对象中内容
内容过多,细化整理需要新开章节。此文仅简单介绍。