MATLAB入门之旅
索引与修改数组
如果只对一个矩阵使用一种索引,它将按顺序从上到下遍历每列。试着用一种索引提取 data
的第八个元素。
您也可以使用变量作为索引。试着创建一个变量 y
,并用 y
作为 data
的索引。(?)
# data 为一个7*3的矩阵 那么索引8会遍历到第1行第1列的元素
data(8)
#索引也支持变量
y = 1
z = 2
data(y, z)
提取多个元素
1.用作索引时,冒号运算符 (:
) 可指代该维度中的所有元素。以下语法
x = A(2,:)
会创建一个包含 A
中第 2 行上所有元素的行向量。
2.冒号运算符可以引用某个值范围。以下语法会创建一个包含矩阵 A
的第 1 行、第 2 行和第 3 行所有元素的矩阵。
x = A(1:3,:)
3.单个索引值可用于引用向量元素。例如
x = v(3)
会返回向量 v
的第 3 个元素(当 v
为行向量或列向量时)。
4.单个索引值范围可用于引用向量元素的子集。例如
x = v(3:end)
返回向量 v
的一个子集,其中包含从第三个到最后一个元素范围内的所有元素。
5.索引非连续数字
or
# 自定义一个索引规则,提取 density 的第一个、第三个和第六个元素
A = [1,3,6];
density(A)
更改数组中的值
可以结合使用索引和赋值来修改变量的元素。A(2) = 11
将data第一列改为data第二列:
数组计算
对向量执行数组运算
1.MATLAB 的设计让您能够自然地处理数组。例如,您可以将一个标量值与数组中的所有元素相加。
y = x + 2
2.MATLAB 的设计让您能够自然地处理数组。例如,您可以将一个标量值与数组中的所有元素相加。
y = x + 2
3.您可以将数组中的所有元素与某个标量相乘或相除。
z = 2*x y = x/3
4.MATLAB 中的基本统计函数可应用于某个向量以生成单个输出。可以使用 max
函数来确定向量的最大值。
xMax = max(x)
5.MATLAB 的函数可在单个命令中对整个向量或值数组执行数学运算。
xSqrt = sqrt(x)
6.*
运算符执行矩阵乘法。因此,如果您使用 *
将两个大小相同的向量相乘,则由于内部维度不一致,您将会收到一条错误消息。
z = [3 4] * [10 20]
错误使用 * 用于矩阵乘法的维度不正确。
而 .*
运算符执行按元素乘法,允许您将两个大小相同的数组的对应元素相乘。
z = [3 4] .* [10 20]
z = 30 80