本文概述
- 在MATLAB中创建数组
- MATLAB中的矩阵和数组运算
- 两个标量之间的算术运算
- 矩阵运算
- 矩阵和数组运算的示例
- MATLAB中的格式命令
- MATLAB中数组的串联
- MATLAB中的数组索引
- MATLAB一次处理整个矩阵和数组。
- 所有类型的数据变量都存储为多维数组, 可以是字符, 字符串或数字。
- 二维数组称为矩阵, 通常用于线性代数。
- 通过在元素之间使用空格:

文章图片
- 此命令创建一个具有一行四列的数组变量” A” 。
- 存储在工作空间中的’ A’ 变量和输出将在命令窗口中显示为:

文章图片
- 通过在元素之间使用逗号:

文章图片
- 此命令将创建一个具有一行四列的数组变量” a” 。
- ‘ a’ 变量存储在工作空间中, 输出将在命令窗口中显示为:

文章图片
- 我们可以将两种方法结合在一起, 但这不是一个好习惯。

文章图片
它的工作原理与以前相同, 但是为了更好的语法请避免使用它。
- 在单行中具有其元素的数组称为行向量。或者我们可以说一维数组是一个向量。
- 二维数组称为矩阵。这意味着矩阵具有多个行和列。因此, 在创建具有多行的矩阵时, 我们必须用分号分隔行。

文章图片
- 创建矩阵时要小心, 每行应具有相同的列数, 并且每行应以分号分隔。否则, 它将显示错误并且不会创建矩阵。

文章图片
- 我们可以使用内置函数(例如1、0或rand)创建矩阵。

文章图片
MATLAB中的矩阵和数组运算 MATLAB支持数组之间的两类操作, 称为数组操作和矩阵操作。
数组操作是在数组之间逐个元素地实现的操作。也就是说, 该操作是在两个数组中的相应元素上实现的。
例如,

文章图片
注意:两个数组中的行数和列数必须相同。否则, MATLAB将生成错误消息。 下表总结了MATLAB中两个标量之间的算术运算。
两个标量之间的算术运算
Operation | Algebraic Form | MATLAB表格 |
---|---|---|
Addition | a + b | a + b |
Subtraction | a-b | a-b |
Multiplication | 一口 | a * b |
Division | a / b | |
Exponentiation | a ^ b |
例如,

文章图片
矩阵运算 矩阵运算遵循线性代数的标准规则, 例如矩阵乘法。在线性代数中, 乘积c = a x b由等式定义。

文章图片
例如,

文章图片
注意:矩阵a中的列数必须等于矩阵b中的行数。 MATLAB使用特殊符号对矩阵运算中的数组运算进行分类。在数组运算和矩阵运算具有不同定义的方法中, MATLAB在符号前使用句点来表示数组运算(例如。*)。
表中列出了标准数组和矩阵运算的列表。
Operation | MATLAB表格 | Comments |
---|---|---|
数组加法/ td> | a+b/td> | 数组加法和矩阵加法相同。 |
Array Subtraction/td> | a-b/td> | 数组减法和矩阵减法是相同的。 |
Array Multiplication/td> | a。* b / td> | a和b的逐元素乘法。两个数组必须具有相同的形状, 并且其中之一必须是标量。 |
Matrix Multiplication/td> | a*b/td> | a和b的矩阵乘法。 a中的列数必须等于b中的行数。 |
阵列右分割/ td> | a ./ b / td> | a和b的逐元素划分:a(i, j)/ b(i, j)。两个数组必须具有相同的形状, 并且其中之一必须是标量。 |
阵列左分割/ td> | a。\ b / td> | a和b的逐元素除法, 但分子中有b:b(i, j)/ a(i, j)。两个数组必须具有相同的形状, 并且其中之一必须是标量。 |
矩阵右除法/ td> | a/b/td> | 由* inv(b)定义的矩阵除法, 其中inv(b)是矩阵b的逆。 |
矩阵左除法/ td> | a\b/td> | 由inv(a)* b定义的矩阵除法, 其中inv(a)是矩阵a的逆。 |
阵列求幂 | a。^ b / td> | a和b的逐元素取幂:a(i, j)^ b(i, j)。两个数组必须具有相同的形状, 并且其中之一必须是标量。 |
- 我们可以使用单个算术运算符处理矩阵中的所有值。

文章图片
- 这里需要注意的一点是, 当我们以+ 5输入命令时, 它将不会更改原始变量’ a’ , 直到我们不再为其分配输出为止。
- 这就是为什么上述输出分配给默认变量” ans” 的原因。

文章图片
- 我们可以在评论行之前使用’ %’ 百分号输入评论。

文章图片
- 矩阵的转置将每一行放置为一列。

文章图片
MATLAB中的格式命令 MATLAB内部将所有数字存储为浮点值, 最多15个小数点。但是它通常最多显示4个小数点。让我们看一个例子。

文章图片
- 现在, 我们将使用format命令在MATLAB中显示结果直至最大可能的小数点:

文章图片
- 格式化命令语法:在命令行中输入” 长格式” 。
- 它将继续以上格式, 直到我们更改format命令为止。

文章图片
MATLAB中数组的串联 在连接或连接字符串时, 在MATLAB中, 我们也可以连接数组。数组声明中使用的一对方括号[]本身是一个串联运算符。
【MATLAB中的矩阵和数组】我们可以通过两种方式连接数组:
- 水平地
- 垂直
- 规则:所有数组的行数应相同。
- 语法:将所有数组都用方括号括起来, 并用逗号[a, b, c]隔开。
- 例:

文章图片
MATLAB中数组的垂直串联
- 规则:所有数组的列数均应相同。
- 语法:将所有数组括在用分号[a; b; c]分隔的方括号中。
- 例:

文章图片
在MATLAB中表示复数
- 复数具有实部和虚部。
- 虚数单位的值等于-1的平方根。
平方(-1)=> 0.0000 + 1.0000i - 使用字母” i” 或” j” 表示复数的虚部。
- 例:

文章图片
MATLAB中的数组索引

文章图片
在MATLAB中, 每个变量都是一个数组。并且数组中的所有元素都按行和列进行索引。可以使用MATLAB中的索引访问任何特定元素。 MATLAB中数组的索引与数学相同。它具有访问元素的不同语法。
在MATLAB中有几种索引元素的方法。
1.通过指定行和列下标:
- 引用数组特定组件的最常见方法是在括号中使用数组变量指定行和列下标。
- 在指定为下标的行和列的交点搜索元素。

文章图片
2. MATLAB中的线性索引
- 在行和列下标中使用单个下标被称为MATLAB中的线性索引。
- 依次搜索遍历各列的元素。

文章图片
3.在MATLAB中引用数组的多个元素
- MATLAB中有一个冒号运算符(:), 可用于引用数组的多个元素。
- 例:

文章图片

文章图片

文章图片
在MATLAB中使用冒号运算符创建矢量
通过使用冒号运算符, 我们可以创建等距的值向量。我们可以分配可以固定间隔影响下一个值的步长值。
- 语法:开始:步骤:结束。
- 例:
让我们在冒号运算符的帮助下创建一个13表。

文章图片
访问当前尺寸之外的数组元素
- 我们只能在当前维度内访问元素。这意味着如果它是一个向量并且包含9个元素, 那么我们将无法访问位置12的元素。因为在向量创建期间未定义第12个位置。
- 如果我们输入命令以访问其当前维之外的元素, 则它将引发错误, 指出索引超出了数组范围。

文章图片
- 但是我们可以为当前不可用的位置分配一个值。
- 例如, 我们有9个元素的向量;然后, 我们可以通过为其分配值来创建第12个元素或第9个元素之外的任何元素。

文章图片
- 并且, 如果最后一个索引和新创建的索引之间存在间隙, 则间隙索引将自动分配为0值。
- 可以将值分配给所有数组中的索引。

文章图片
推荐阅读
- MATLAB中的稀疏数组
- MATLAB函数用法
- MATLAB中的多维数组
- MATLAB M文件
- 适用于MATLAB中基本操作的兼容数组大小
- MATLAB end关键字
- MATLAB错误控制语句try-catch
- MATLAB return语句
- MATLAB break语句