矩阵的基本运算¶
矩阵是由按行和列排列的元素组成的二维矩形数组。元素可以是数字、逻辑值(真或假)、日期和时间、字符串、分类值或其他类型的数据。
矩阵定义¶
使用方括号 [] 可以创建矩阵,方法是事先将所需元素括入方括号中。
In [ ]:
Pkg.add(["LinearAlgebra"])
In [ ]:
A = [1 2 3] # создание матрицы в виде вектор-строки
Out[0]:
只有一列的矩阵将显示为另一种数据类型--向量:
In [ ]:
A = [1, 2, 3]
Out[0]:
创建规则矩形矩阵的方法是定义行,并用分号分隔:
In [ ]:
A = [1 2 3 4; 5 6 7 8]
Out[0]:
有许多函数可以帮助您创建具有特定元素值或特定结构的矩阵。例如,函数 zeros 和 ones 可以创建全为 0 或 1 的矩阵。这些函数的第一和第二个参数是矩阵的行数和列数:
In [ ]:
A = zeros(3, 3) # определение матрицы с нулями
Out[0]:
In [ ]:
A = ones(3, 3) # определение матрицы с единицами
Out[0]:
线性代数库中的函数对角线**会将输入元素放在数组的对角线上:
In [ ]:
using LinearAlgebra
A = [12, 62, 93, -8]
B = Diagonal(A)
Out[0]:
使用convert函数将矩阵 B 从对角线类型转换为矩阵{Float64}数据类型
In [ ]:
B = convert(Matrix{Float64}, B)
Out[0]:
矩阵联合¶
矩阵可使用方括号 [ ] 水平合并:
In [ ]:
A = [1 2; 3 4; 5 6; 7 8]
C = [A B]
Out[0]:
同样,矩阵也可以通过指定分号进行垂直组合(必须是同一维度):
In [ ]:
A = ones(1,4)
B = zeros(1,4)
D = [A; B]
Out[0]:
可以使用 vcat 和 hcat 等特殊函数进行合并:
In [ ]:
C = hcat(A, B)
Out[0]:
In [ ]:
D = vcat(A, B)
Out[0]:
生成数字序列¶
使用 collect 函数,您可以生成一个向量形式的数字序列:
In [ ]:
E = collect(-10:5:10) # collect(Начало:Интервал:Конец)
Out[0]:
改变矩阵的形状¶
要改变矩阵的尺寸,可以使用reshape函数。
In [ ]:
A = [1 2 3 4 5; 6 7 8 9 10; 11 12 13 14 15; 16 17 18 19 20] # определяем матрицу, исходный размер 4 на 5
Out[0]:
将矩阵转换为矢量字符串:
In [ ]:
reshape(A, (1, 20))
Out[0]:
将矩阵转换为向量列
In [ ]:
reshape(A, (20, 1))
Out[0]:
如果用冒号指定矩阵维数之一,reshape 将返回指定行数或列数的矩阵:
In [ ]:
reshape(A, (1, :))
Out[0]: