MATLAB 中的括号

在本教程中,我们将讨论如何在 MATLAB 中使用方括号创建矩阵并使用大括号创建单元格数组。

在 MATLAB 中使用方括号创建向量或矩阵

你可以使用方括号在 MATLAB 中创建任意大小的向量和矩阵。例如,让我们使用方括号创建一个向量,一个整数矩阵和一个字符数组矩阵。请参见下面的代码。

myVector = [1 2 3]
myMatrix = [1 2 3; 5 6 7]
char_matrix = ['a';'b';'c';'d';'f']

输出:

myVector =
     1     2     3
myMatrix =
     1     2     3
     5     6     7
char_matrix =
  5×1 char array
    'a'
    'b'
    'c'
    'd'
    'f'

我们创建了一个向量、一个整数矩阵和一个字符数组矩阵。每个元素都保存在矩阵中的特定索引上。你可以使用矩阵的索引来提取或更改矩阵中存在的元素。在 MATLAB 中,索引从 1 开始。例如,让我们获取 myVector 中索引 1 处的值,并使用提取的值更改 myVector 中索引 2 处的值。请参见下面的代码。

myVector = [3 2 6]
value = myVector(1)
myVector(2) = value

输出:

myVector =
     3     2     6
value =
     3
myVector =
     3     3     6

我们提取了存在于索引 1 的值,即 3,并将其保存在 myVector 中的索引 2 上。如你所见,向量的元素已更改。你可以使用矩阵来执行此操作,但是你现在必须给行和列两个值,而不是给一个索引。ones() 函数创建一个 1 的矩阵,而 zeros() 函数创建一个 0 的矩阵。size() 函数用于获取矩阵的大小,而 find() 函数用于查找矩阵中存在的某些特定值。查看此链接以获取有关矩阵的更多信息。

在 MATLAB 中使用大括号创建单元格数组

你可以使用大括号在 MATLAB 中创建任何数据类型的单元格数组。你可以在单元格数组中存储多种数据类型。例如,让我们在单元格中存储一个整数和一个字符。请参见下面的代码。

myCell = {10,'Hello'}

输出:

myCell =
  1×2 cell array
    {[10]}    {'Hello'}

单元格数组包含两个数组,一个数组包含整数,另一个数组包含字符。你可以使用索引和赋值运算符将数据提取并保存到现有单元格中。例如,让我们提取存储在索引 2 中的值并将其存储在单元格中的索引 3 中。请参见下面的代码。

myCell = {10,'Hello'}
v = myCell(2)
myCell(3) = v

输出:

myCell =
  1×2 cell array
    {[10]}    {'Hello'}
v =
  1×1 cell array
    {'Hello'}
myCell =
  1×3 cell array
    {[10]}    {'Hello'}    {'Hello'}

我们提取了索引 2 处的值,并将其存储在变量 v 中,并将此值存储在单元格数组的索引 3 中。你可以使用诸如 cell2mat() 之类的许多单元函数将单元数组转换为矩阵,以及使用更多与单元相关的函数。查看此链接以获取有关单元数组的更多详细信息。