矩阵的基本操作
矩阵是按行和列排列的元素的二维矩形阵列。 这些元素可以是数字、布尔值(真或假)、日期和时间、字符串、分类值或其他类型的数据。
定义矩阵
矩阵可以使用方括号**[]**创建,并预先在其中包含必要的元素。
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]:
有许多函数可以帮助您创建具有特定元素值或特定结构的矩阵。 例如,函数零和一创建所有零或一的矩阵。 这些函数的第一个和第二个参数是矩阵的行数和列数。:
In [ ]:
A = zeros(3, 3) # определение матрицы с нулями
Out[0]:
In [ ]:
A = ones(3, 3) # определение матрицы с единицами
Out[0]:
Linearalgebra库的Diagonal函数将输入元素放置在数组的对角线上:
In [ ]:
using LinearAlgebra
A = [12, 62, 93, -8]
B = Diagonal(A)
Out[0]:
使用convert函数,我们将矩阵B从Diagonal类型转换为矩阵{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]: