Julia 数组基本函数

简介: 摘要:了解 Julia 中的数组基本函数:eltype() 获取元素类型,length() 返回元素数量,ndims() 给出维数,size() 和 size(A,n) 用于获取维度大小,axes() 和 axes(A,n) 提供索引范围,eachindex() 用于遍历,stride() 和 strides() 描述元素间隔。

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

相关文章
|
6天前
|
机器学习/深度学习 分布式计算 C语言
Julia
Julia
29 0
|
3天前
|
存储 索引
Julia 数组
Julia 的数组是可变的、类型灵活的数据结构,支持一维至多维。数组索引可使用整数,大小可变。创建一维数组如 `[A, B, C]`,示例:`arr = [1,2,3]` 创建整数数组,或 `arr = [1, "baidu", 2.5, pi]` 创建混合类型数组。指定类型如 `Int64[1,2,3]` 或 `String["Taobao","baidu","GOOGLE"]`。Julia 提供函数处理数组操作,如添加和合并元素。
|
1天前
|
存储
Julia 数据类型
Julia中的数据类型包括整数和浮点数,以及字面量如字符串。类型转换通过`T(x)`或`convert(T,x)`实现,其中T为目标类型。转换规则:浮点转整数可能得到最接近的值,整数转整数若超出范围则抛出`InexactError`。转换方式还有`x % T`(相当于取模)和舍入函数`round(Int,x)`。示例展示了不同类型转换的结果,包括成功和失败的情况。
Julia 元组
Julia 中的元组是不可变的有序元素集合,与数组用法相似但用小括号表示。创建元组如 `(5, 10, 15, 20, 25, 30)`,可以使用数组函数操作,如 `tupl[3:end]` 获取子元组。尝试修改元组元素会导致错误,如 `tupl2[2]=0` 会抛出 `MethodError`。
Julia 基本语法
Julia 的注释方式包括单行和多行。单行注释以 `#` 开始,如 `# 这是一行注释`。多行注释使用 `#=` 开始并以 `=#` 结束,示例:`#= 1、这是一行注释\n2、这是另外一行注释 =#`。`println("Hello World!")` 是打印语句。
|
6天前
|
前端开发 JavaScript Java
ES6中将非数组转换为数组的三种方法
ES6中将非数组转换为数组的三种方法
|
6天前
ES6的Array.from({length:N})方法创建长度为N的undefined数组,等价于 [...Array(N)]
ES6的Array.from({length:N})方法创建长度为N的undefined数组,等价于 [...Array(N)]
|
9月前
|
JavaScript
es6数据类型Symbol以及es6操作数组常用的方法
es6数据类型Symbol以及es6操作数组常用的方法
63 0
|
11月前
【TS】函数和函数类型
【TS】函数和函数类型
53 0
|
12月前
|
存储 JavaScript 前端开发