Julia 数组基本函数
函数 描述
eltype(A) A 中元素的类型
length(A) A 中元素的数量
ndims(A) A 的维数
size(A) 一个包含 A 各个维度上元素数量的元组
size(A,n) A 第 n 维中的元素数量
axes(A) 一个包含 A 有效索引的元组
axes(A,n) 第 n 维有效索引的范围
eachindex(A) 一个访问 A 中每一个位置的高效迭代器
stride(A,k) 在第 k 维上的间隔(stride)(相邻元素间的线性索引距离)
strides(A) 包含每一维上的间隔(stride)的元组
Julia构造和初始化
Julia 提供了许多用于构造和初始化数组的函数。在下列函数中,参数 dims ... 可以是一个元组 tuple 来表示维数,也可以是一个可变长度的整数值作为维数。大部分函数的第一个参数都表示数组的元素类型 T 。如果类型 T 被省略,那么将默认为 Float64。
函数 描述
Array{T}(undef, dims...) 一个没有初始化的密集 Array
zeros(T, dims...) 一个全零 Array
ones(T, dims...) 一个元素均为 1 的 Array
trues(dims...) 一个每个元素都为 true 的 BitArray
falses(dims...) 一个每个元素都为 false 的 BitArray
reshape(A, dims...) 一个包含跟 A 相同数据但维数不同的数组
copy(A) 拷贝 A
deepcopy(A) 深拷贝,即拷贝 A,并递归地拷贝其元素
similar(A, T, dims...) 一个与A具有相同类型(这里指的是密集,稀疏等)的未初始化数组,但具有指定的元素类型和维数。第二个和第三个参数都是可选的,如果省略则默认为元素类型和 A 的维数。
reinterpret(T, A) 与 A 具有相同二进制数据的数组,但元素类型为 T
rand(T, dims...) 一个随机 Array,元素值是 [0, 1) [0,1) 半开区间中的均匀分布且服从一阶独立同分布 [1]
randn(T, dims...) 一个随机 Array,元素为标准正态分布,服从独立同分布
Matrix{T}(I, m, n) m 行 n 列的单位矩阵 (需要先执行 using LinearAlgebra 来才能使用 I)
range(start, stop=stop, length=n) 从 start 到 stop 的带有 n 个线性间隔元素的范围
fill!(A, x) 用值 x 填充数组 A
fill(x, dims...) 一个被值 x 填充的 Array