学习一下使用MatLab如何进行编程,如函数、类、变量定义等,有助于实际MatLab项目的开发。
![]()
基本数据类型
不管啥子编程语言,咱先了解人家的基本数据类型:

从上图中可以看到有如下的数据类型:
数字型:int8int64、uint8uint64、single、double
布尔型
集合型
文本型:string、char、cell
异构(Heterogeneous)型:timetable、structure、table、cell
函数型
时间型:datetime、duration、calendarDuration
其中,对于保存了同一种类型数据的数组我们称为同构(homogeneous)数据、反之为异构(heterogeneous)数据。这里着重说一下table
、structure
、cell
三个数据结构。table
和数据库里的表是一样的,同列数据类型相同,如下图所示:
cell
与table
类似,但是没有限制每一列数据类型相同,即每一个单元的数据类型都可以不同,可以理解为一个没有指定单元类型的数组。
structure
更好理解,就是包含了多种数据类型、用以描述一个具体的数据类型的数据结构,和C语言是一样的,和Java的类差不多。
文本型数据常用函数
contains
erase
字符连接
replace
表型数据常用函数
- 创建一个表
1 | % 直接创建,列名是变量名 |
- 表间操作
1 | % 纵向(列数必须相同)、横向(行数必须相同)合并两个表 |
- 从表中获取数据
如下图所示,若需要获取表中一部分数据,我们只需要通过索引、切片的方法来获取就可以了,如t2 = t1(6:15, [1 5 end-1:3nd])
指的就是获取t1
表中第6行到第15行中第1列、第5列、倒数后两列的内容。可以看到matlab对于这种类矩阵的计算还是肥肠方便的。

我们看一个例子,比如我们要获取下表中所有关于丰田的汽车信息:

我们可以这样:
1 | % 先获取第一列的所有数据,使用contains获取索引向量 |

而如果说你要提取多个列的数据(不包含列名),那么就要使用花括号了:
1 | % 提取1到3列数据 |

- 向表中添加新列
直接赋值就可以了,新列的名字就是.
操作符后自定义的名字:
1 | Area = fleet.Length .* fleet.Width |
集合型数据常用函数
也就是Cell Array,我想叫他集合型,是因为他就是花括号一括,里面数据类型无需一致。一个集合型数据定义如下:
1 | car = {'Ford','Expedition';32.7,true} |