Engee 文档
Notebook

矩阵和数组

Julia编程语言为创建和编辑矩阵提供了广泛的功能。 在这个例子中,将考虑其中的一些。

要创建由多行组成的矩阵,请用分号分隔矩阵的元素:

In [ ]:
a = [1 3 5; 2 4 6; 7 8 10]
Out[0]:
3×3 Matrix{Int64}:
 1  3   5
 2  4   6
 7  8  10

Julia允许您使用单个算术运算符或函数处理矩阵中的所有值,方法是在它前面指定一个点,这意味着逐个元素应用运算符。:

In [ ]:
a .+ 10
Out[0]:
3×3 Matrix{Int64}:
 11  13  15
 12  14  16
 17  18  20

零碎指数化:

In [ ]:
a .^ 3
Out[0]:
3×3 Matrix{Int64}:
   1   27   125
   8   64   216
 343  512  1000

您还可以将函数应用于矩阵:

In [ ]:
sin(a)
Out[0]:
3×3 Matrix{Float64}:
 -0.657343  -0.275398   0.014688
 -0.572697  -0.24759   -0.144781
  0.254022  -0.38759   -0.874514

矩阵可以通过两种方式转置,第一种是通过指定撇号。:

In [ ]:
a'
Out[0]:
3×3 adjoint(::Matrix{Int64}) with eltype Int64:
 1  2   7
 3  4   8
 5  6  10

第二种方法是使用转置函数:

In [ ]:
transpose(a)
Out[0]:
3×3 transpose(::Matrix{Int64}) with eltype Int64:
 1  2   7
 3  4   8
 5  6  10

当矩阵用方括号表示时,它们被连接起来,用分号分隔或没有它们,这意味着分别是垂直和水平加法。:

In [ ]:
A = [a; a]
Out[0]:
6×3 Matrix{Int64}:
 1  3   5
 2  4   6
 7  8  10
 1  3   5
 2  4   6
 7  8  10

水平连接矩阵:

In [ ]:
A = [a a]
Out[0]:
3×6 Matrix{Int64}:
 1  3   5  1  3   5
 2  4   6  2  4   6
 7  8  10  7  8  10

您还可以通过使用im定义复数作为数组元素:

In [ ]:
c = [3+4im 4+3im; -im 10im]
Out[0]:
2×2 Matrix{Complex{Int64}}:
 3+4im  4+3im
 0-1im  0+10im