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

相关文章
|
8月前
|
供应链 程序员
景点讲解还在靠人工?教你用二维码打造智慧景区导览系统
通过简单的“一景一码”,游客只需掏出手机扫一扫,就能看到景点介绍、听到语音讲解,甚至还能浏览历史视频。这种方式不仅操作简单,还能让景区以极低的成本实现导览服务的数字化升级
|
Java Android开发 iOS开发
深入探讨移动操作系统的性能优化:安卓与iOS的对比分析
在现代移动设备中,操作系统的性能优化至关重要。本文从系统架构、内存管理、电池续航和应用程序运行效率等多个维度,深入探讨了安卓(Android)和iOS两大主流移动操作系统的优化策略及其实际效果,旨在为开发者和用户提供更清晰的了解和选择依据。
1612 27
|
安全 API 网络安全
使用OkHttp进行HTTPS请求的Kotlin实现
使用OkHttp进行HTTPS请求的Kotlin实现
|
11月前
|
存储 算法 安全
【C语言程序设计——选择结构程序设计】求阶跃函数的值(头歌实践教学平台习题)【合集】
本任务要求输入x的值,计算并输出特定阶跃函数的结果。主要内容包括: 1. **选择结构基本概念**:介绍if、if-else、switch语句。 2. **主要语句类型**:详细解释if、if-else、switch语句的使用方法。 3. **跃迁函数中变量的取值范围**:说明如何根据条件判断变量范围。 4. **计算阶跃函数的值**:通过示例展示如何根据给定条件计算函数值。 编程要求:在右侧编辑器Begin-End之间补充代码,实现阶跃函数的计算和输出。测试说明提供了多个输入及其预期输出,确保代码正确性。最后提供通关代码和测试结果,帮助理解整个过程。
275 0
|
前端开发 Devops Shell
前端破圈用Docker开发项目🏴‍☠️
前端破圈用Docker开发项目🏴‍☠️
300 0
|
域名解析 弹性计算 数据可视化
如何使用云服务器ECS搭建网站?阿里云云服务器ECS部署网站新手教程
本文介绍了在阿里云ECS上自助建站的流程。建站方式包括自助建站、模板建站和定制建站,适合个人或小企业用户。建站步骤涉及准备服务器、配置安全组规则、部署网站、购买和备案域名以及解析域名。此外,文章还提及了产品计费和常见问题,提供相关服务如架构设计、迁云服务和基础设置服务等。
1095 0
|
网络安全
socks5代理连接成功无法访问http协议的站点
无法通过SOCKS5代理访问HTTP网站可能由多个原因引起,如代理服务器不支持HTTP、配置错误、防火墙阻拦、连接问题、身份验证失败、浏览器设置不当或服务器被封锁。检查并解决这些因素,若问题持续,需深入排查或联系服务提供商。
|
机器学习/深度学习 安全 算法
【现代密码学】笔记9-10.3-- 公钥(非对称加密)、混合加密理论《introduction to modern cryphtography》
【现代密码学】笔记9-10.3-- 公钥(非对称加密)、混合加密理论《introduction to modern cryphtography》
372 0
|
Java 数据库连接 数据库
解决Cause: java.lang.IllegalArgumentException: invalid comparison: java.util.Date and java.lang.String
解决Cause: java.lang.IllegalArgumentException: invalid comparison: java.util.Date and java.lang.String
1281 0