[Machine-Learning] 熟悉Matlab

浮点数取整的几个函数

  • floor: 向下取整
  • ceil: 向上取整
  • round: 取最接近的整数
  • fix: 向0取整

不等于

Matlab 中,使用~=表示不等于

数组相关操作

使用 [] 命名数组:

array

数组内是连续值的时候,可以使用:进行赋值:

:

对于连续值同样可以设置步长:

step

还可以使用一些内建函数创建线性序列,比如说linspace这个函数:

linspace

其作用是在闭区间[1,100] 上创建一个有36个元素的向量,这36个元素把整个区间线性分割。

单元数组

对单元数组的概述

单元(Cell)数组是一种无所不包的广义矩阵。

组成单元数组的每一个元素称为一个单元

每一个单元可以包括一个任意的数组,比如:

  • 数值数组
  • 字符串数组
  • 结构体数组
  • 或者另外一个单元数组

也就是说,每个单元可以具有不同的尺寸和占用空间。

赋值创建单元数组

使用{} 来创建一个单元数组:

cell-array-create

在这里,我们创建了一个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 函数,但是不能添加新的元素:

原文地址:https://www.cnblogs.com/guoyunzhe/p/6198014.html