【问题标题】:Julia problems with end, matrix朱莉娅问题与结束,矩阵
【发布时间】:2019-10-27 20:43:26
【问题描述】:

当我在 julia 中输入此错误时会跳转,但我不知道为什么,它应该可以工作。/

julia> A = [1 2 3 4; 5 6 7 8; 1 2 3 4; 5 6 7 8]
4×4 Array{Int64,2}:
 1  2  3  4
 5  6  7  8
 1  2  3  4
 5  6  7  8

julia> B = A[2:1:end; 2:1:end]
ERROR: syntax: missing last argument in "2:1:" range expression 
Stacktrace:
 [1] top-level scope at REPL[9]:0

【问题讨论】:

    标签: julia


    【解决方案1】:

    索引多维数组的语法使用逗号, 而不是分号; 作为维度之间的分隔符,请参阅https://docs.julialang.org/en/v1/manual/arrays/#man-array-indexing-1。因此你想做:

    julia> A = [1 2 3 4; 5 6 7 8; 1 2 3 4; 5 6 7 8]
    4×4 Array{Int64,2}:
     1  2  3  4
     5  6  7  8
     1  2  3  4
     5  6  7  8
    
    julia> B = A[2:1:end, 2:1:end]
    3×3 Array{Int64,2}:
     6  7  8
     2  3  4
     6  7  8
    

    还请注意,您可以在范围规范中省略 1,因为第 1 步是默认设置:

    julia> A[2:end, 2:end]
    3×3 Array{Int64,2}:
     6  7  8
     2  3  4
     6  7  8
    

    【讨论】:

    • 你到底试过什么命令?使用分号时,我可以复制您在问题中显示的错误,但逗号对我有用,因为它应该这样做
    • 记得将答案标记为解决方案,如果这样可以解决您的问题 ;-)
    猜你喜欢
    • 1970-01-01
    • 2016-02-18
    • 2018-11-27
    • 2014-04-26
    • 1970-01-01
    • 2014-02-04
    • 2014-12-31
    • 2017-01-15
    • 2021-11-04
    相关资源
    最近更新 更多