当你开始关心如何优雅地编程时,你就会开始关心语言本身。无论是 Java C++ Python MATLAB 他们都是编程语言。当你接触过多门语言,并且都有一定深入的学习后就会发现其实语言的本质都是相通的,你所需要关心的部分也都是大差不离的。MATLAB 和 Python 是做数据科学常用的两种语言,但是有意思的是人们提到 Python 第一反应它是一门优秀的语言,而提到 MATLAB 第一反应却是一个软件,由此也可以看出很少有人去关心 MATLAB 的优雅编程,对其只是非常浅显的使用罢了,这也是 MATLAB 自带的科研属性所导致的,但在人人编程的未来中,这一问题会自行消失的。
首先来思考一个问题,数据结构、数据类型、对象和类,它们
数值
MATLAB 的主要工作是数据处理,最重要的数据结构就是用来储存和操作数值的。数值类型包括 double interger float 等等,这里我们只关心默认类型 double 。 数值类型不算是一种数据结构,所谓数据结构是计算机存储、组织数据的一种方式,并且提供一些列针对数据结构的操作方法。 MATLAB 用来存储数值的数据结构为 矩阵和数组。它们二者没有本质的区别,面对不同的运算法则它们有不同的表现形式,分为矩阵运算和元素运算。单个变量如 a = 1 在 MATLAB 中被视为
1
×
1
1\times1
1×1 的矩阵,行列数组被视为行向量和列向量,当行列向量执行矩阵运算时会表现出矩阵的特性,参与元素运算时会表现出数组的特性。
字符和字符串
MATLAB 中文本类型是存储在字符数组和字符串数组中的,其实也可以称其为矩阵,只不过它只剩形状,既不能做矩阵运算也不能做数值运算。
咱也不是处理字符串的工种,不用太过在意字符串的各种 API,正则表达式这类也没必要过多的了解。
日期和时间
关于日期和时间的数据类型各种编程语言中确实是有的,只不过特定的工作岗位才会频繁的使用。MATLAB 中的日期和时间数据类型 datatime duration calendarDuration 支持高效的日期和时间计算、比较以及格式化显示方式。这些数组的处理方式与数值数组的处理方式相同。可以对日期和时间值执行加法、减法、排序、比较、串联和绘图等操作。还可以将日期和时间以数值数组或文本形式表示。
反正我这辈子够呛是用得到这种数据类型的。
结构体
函数句柄
|