Julia 语言: sub 与 slice 函数

2024-02-01

有人可以解释一下吗简单来说与julia v0.4功能的区别:

sub http://docs.julialang.org/en/latest/stdlib/arrays/#Base.sub and slice http://docs.julialang.org/en/latest/stdlib/arrays/#Base.slice(有可能slicedim http://docs.julialang.org/en/latest/stdlib/arrays/#Base.slicedim)

一些简单的例子将非常有用。 多谢


不同之处在于slice删除用标量(非向量)“切片”的所有维度,而sub经常保留它们。例如:

julia> A = rand(3,3)
3x3 Array{Float64,2}:
 0.403464   0.229403  0.924686
 0.953741   0.175086  0.49139 
 0.0290678  0.705564  0.567355

julia> a = slice(A, 2, :)   # this will be 1-dimensional
3-element SubArray{Float64,1,Array{Float64,2},(Int64,Colon),2}:
 0.953741
 0.175086
 0.49139 

julia> b = sub(A, 2, :)     # this will be 2-dimensional
1x3 SubArray{Float64,2,Array{Float64,2},(UnitRange{Int64},Colon),2}:
 0.953741  0.175086  0.49139

julia> size(a)
(3,)

julia> size(b)
(1,3)

有一个例外:sub删除用标量索引的维度if它们是“尾随”维度,这意味着没有用向量索引的后续维度:

julia> a = slice(A, :, 2)
3-element SubArray{Float64,1,Array{Float64,2},(Colon,Int64),2}:
 0.229403
 0.175086
 0.705564

julia> b = sub(A, :, 2)
3-element SubArray{Float64,1,Array{Float64,2},(Colon,Int64),2}:
 0.229403
 0.175086
 0.705564

julia> size(a)
(3,)

julia> size(b)
(3,)

If you slice有一个范围,然后你会得到类似的行为sub:

julia> a = slice(A, 2:2, :)
1x3 SubArray{Float64,2,Array{Float64,2},(UnitRange{Int64},Colon),1}:
 0.953741  0.175086  0.49139

julia> size(a)
(1,3)

重要的不是索引的长度,而是类型:任何使用非标量索引的维度都将被保留。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Julia 语言: sub 与 slice 函数 的相关文章

  • Java 从 SQL 数组获取 ResultSet 失败

    我试图从数据库中检索电子邮件地址 但没有成功 我的代码如下 Main System out println PortfolioData getEmails 58 So Far Returning null 投资组合数据 public sta
  • 派生类型数组:选择条目

    目前在我的代码中我有一个二维数组 integer allocatable elements 并定义一些常量 integer parameter TYP 1 integer parameter WIDTH 2 integer paramete
  • Laravel 集合到数组

    我有两个模型 Post and Comment 许多评论属于一个帖子 我正在尝试以数组形式访问与帖子相关的所有评论 我有以下内容 它提供了一个集合 comments collection post gt comments gt get 我该
  • STL 容器速度与数组

    我刚刚开始从事一个科学项目 其中速度非常重要 HPC 我目前正在设计数据结构 该项目的核心是双值 3D 网格 以求解偏微分方程 由于这里的速度可能比代码的简单性更重要 我想知道 STL 与通常的 C 风格数组相比如何执行 就我而言 因为它是
  • 有没有办法更改 C# 数组内的元组值?

    我正在使用的数组是int 我想在一个方法中创建每个 我假设的 元组的第一个值 然后我想多次修改后两个值 在另一种方法中 例如 int MyArrayGet int myArray int myArray new int 9 9 9 for
  • 用埃拉托斯特尼筛法寻找素数(原文:有更好的方法来准备这个数组吗?)

    Note 下面的版本 2 使用埃拉托斯特尼筛法 有几个答案对我最初提出的问题有所帮助 我选择了埃拉托斯特尼筛法 实施了它 并适当地更改了问题标题和标签 感谢所有提供帮助的人 介绍 我编写了这个奇特的小方法 它生成一个包含小于指定上限的素数的
  • 根据javascript中对象数组中的id替换特定对象

    我有一系列像这样的对象 var books id 1 name Name of the wind year 2015 rating 4 5 author 2 现在我有一个函数 editBooks 它要求用户提供 id 并用用户给出的值替换具
  • 强制一个 javascript 函数等待运行,直到第一个函数完成

    下午 我遇到了一个问题 我需要运行一个函数 然后在完成后 运行下一个函数 并对四个函数执行此操作 我已经尝试了一段时间 试图找到正确的布局语法我的函数调用但似乎找不到任何东西来解决这个特定的场景 html div div div jquer
  • 字符串插值搜索

    对于那些不熟悉插值搜索的人来说 这是一种在排序数组中搜索值的方法 可能比二分搜索更快 您查看第一个和最后一个元素 并 假设数组的内容均匀分布 线性插值以预测位置 例如 我们有一个长度为 100 的数组 其中 array 0 0 和 arra
  • 无法将新地址分配给函数中的指针? [复制]

    这个问题在这里已经有答案了 不久前 我有一个编程作业 偶然发现了这个小问题 当我给一个函数一个指针作为参数时 我无法更改它指向的地址 我通过返回我想要指针指向的新地址解决了这个问题 但我仍然想知道为什么不可能操作指针参数 因为所有内存分配函
  • 在 Lucene.NET 中索引 Json 对象数组

    我正在努力将任意 json 对象放入 Lucene NET 索引中 给定的对象可能如下所示 name Tony age 40 address street Weakroad number 10 floor 2 door Left skill
  • 如果多个键是相同的 JS,则对对象中的值求和

    例如我有 5 个对象 row aa col 1 value 1 row bb col 2 value 1 row bb col 3 value 1 row aa col 1 value 1 row aa col 2 value 1 我想对值
  • 关于 ArrayList[] x 的 Java 问题

    我一直对 ArrayList 数组有这个问题 也许你能帮忙 declare in class private ArrayList
  • 在哪里可以找到 Java 数组的源代码? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 在哪里可以找到java数组的源代码 Example double arr new double 20
  • 如何解决函数签名中的“UndefVarError:T未定义”

    我正在尝试运行 其他人的代码 看起来像 function f T lt Number n Int alpha T beta T end 当 使用 该文件时我得到 UndefVarError T not defined Stacktrace
  • 按第一列排序二维数组,然后按第二列排序

    int arrs 1 100 11 22 1 11 2 12 Arrays sort arrs a b gt a 0 b 0 上面的数组已排序为 1 100 1 11 2 12 11 22 我希望它们按以下方式排序a 0 b 0 首先 如果
  • 总和不小于 key 的数组的最小子集

    给定一个数组 假设为非负整数 我们需要找到最小长度子集 使得元素之和不小于 K K 是作为输入提供的另一个整数 是否有可能找到时间复杂度为 O n n 的大 oh 的解决方案 我目前的想法是这样的 我们可以在 O n log n 中对数组进
  • onclick 事件中未调用函数

    我想在每个 YouTube 链接的末尾添加一些 HTML 以在 litebox 中打开播放器 到目前为止 这是我的代码 document ready function var valid url new RegExp youtube com
  • 在 NumPy 中获取 ndarray 的索引和值

    我有一个 ndarrayA任意维数N 我想创建一个数组B元组 数组或列表 其中第一个N每个元组中的元素是索引 最后一个元素是该索引的值A 例如 A array 1 2 3 4 5 6 Then B 0 0 1 0 1 2 0 2 3 1 0
  • suhosin.mt_srand.ignore 在 PHP 中一致洗牌数组的解决方法?

    我有一个 PHP 脚本 需要随机化一个具有一致结果的数组 这样它就可以向用户呈现前几个项目 然后如果他们愿意 他们可以从同一个打乱的集合中提取更多结果 我目前使用的是这个 基于我相信的 Fisher Yates 算法 function sh

随机推荐