[Machine-Learning] 熟悉Matlab
浮点数取整的几个函数
- floor: 向下取整
- ceil: 向上取整
- round: 取最接近的整数
- fix: 向0取整
不等于
Matlab 中,使用~=
表示不等于。
数组相关操作
使用 []
命名数组:
数组内是连续值的时候,可以使用:
进行赋值:
对于连续值同样可以设置步长:
还可以使用一些内建函数创建线性序列,比如说linspace
这个函数:
其作用是在闭区间[1,100] 上创建一个有36个元素的向量,这36个元素把整个区间线性分割。
单元数组
对单元数组的概述
单元(Cell)数组是一种无所不包的广义矩阵。
组成单元数组的每一个元素称为一个单元。
每一个单元可以包括一个任意的数组,比如:
- 数值数组
- 字符串数组
- 结构体数组
- 或者另外一个单元数组
也就是说,每个单元可以具有不同的尺寸和占用空间。
赋值创建单元数组
使用{}
来创建一个单元数组:
在这里,我们创建了一个2行3列的单元数组。
- 第1行,第1列的元素是
'x'
,字符类型。 - 第1行,第2列的元素是一个3行1列的double类型矩阵
- 第1行,第3列的元素是一个1行5列的doubel类型矩阵(或者向量)
- 第1行,第1列的元素是10, 数字。
- 第2行,第2列的元素是pi,浮点数。
- 第3行,第3列的元素是一个字符串。
whos 信息为:
使用cell函数创建单元数组
cell(3,4)
创建了一个3行4列的单元数组,每个元素都是一个空矩阵:
访问单元数组
单元数组中,单元和单元中的内容是不一样的。因此访问单元和单元中的内容是两个不同的操作。
Matlab这几了两种操作方式:
- 使用
c(m,n)
获得m行n列的单元 - 而是用
c{m,n}
获得m行n列的单元中的内容
以c = {'x', [1;27;34],[1:5];10, pi,'Im a string'}
为例子:
以及对字符串的:
单元数组元素删除
将数组赋值为空矩阵即可,这里使用{}
:
改变单元数组的形状
使用reshape
函数,但是不能添加新的元素: