Julia 数组
摘要:Julia数组是高效的多维数据结构,支持类型稳定的高性能计算。基础操作包括使用[]创建数组(如arr=[1,2,3])、1-based索引(arr[2])和切片(arr[2:3])。特殊数组可通过zeros/rand生成,支持push!/pop!等修改操作。通过点语法(.+)实现广播运算,推荐预分配内存(Vector{Float64}(undef,N))和使用视图(@view)优化性能。数组
·
Julia 数组基础
Julia 数组是一种多维数据结构,用于存储同类型元素。其核心特性包括动态大小、类型稳定性和高性能计算支持。
创建数组
# 一维数组(向量)
arr1 = [1, 2, 3]
arr2 = collect(1:5)
# 二维数组(矩阵)
mat = [1 2; 3 4]
# 特殊数组
zeros(3, 2) # 3行2列零矩阵
rand(5) # 5个随机数的向量
数组索引与切片
Julia 使用方括号进行索引,索引从1开始:
arr = [10, 20, 30, 40]
arr[2] # 返回20
arr[end] # 访问最后一个元素
arr[2:3] # 切片返回[20, 30]
多维数组索引:
mat = [1 2; 3 4]
mat[1, 2] # 返回第1行第2列元素(2)
数组操作
修改元素
arr[2] = 99 # 修改单个元素
mat[:, 1] = [0, 0] # 修改整列
常用函数
push!(arr, 100) # 追加元素
pop!(arr) # 移除末尾元素
size(mat) # 获取维度(返回元组)
length(arr) # 元素总数
广播运算
Julia 使用点语法(.)进行元素级运算:
a = [1, 2, 3]
a .+ 1 # 返回[2, 3, 4]
sin.(a) # 对每个元素求正弦
性能优化建议
- 预分配数组空间避免动态扩容:
result = Vector{Float64}(undef, 1000)
- 使用视图(view)减少内存拷贝:
subarr = @view mat[1:2, :]
- 类型标注提升性能:
arr = Float32[1.0, 2.0, 3.0]
鲲鹏昇腾开发者社区是面向全社会开放的“联接全球计算开发者,聚合华为+生态”的社区,内容涵盖鲲鹏、昇腾资源,帮助开发者快速获取所需的知识、经验、软件、工具、算力,支撑开发者易学、好用、成功,成为核心开发者。
更多推荐


所有评论(0)