小编Geo*_*ery的帖子

数组和向量的区别

有没有之间的差异ArrayVector

typeof(Array([1,2,3]))
Vector{Int64}

typeof(Vector([1,2,3]))
Vector{Int64}
Run Code Online (Sandbox Code Playgroud)

两者似乎都创造了相同的东西,但它们并不相同:

Array == Vector
false

Array === Vector
false
Run Code Online (Sandbox Code Playgroud)

那么,实际上有什么区别呢?

julia

14
推荐指数
2
解决办法
3580
查看次数

在 Julia 中显示函数的所有方法

我如何可以显示所有函数方法在朱莉娅(多分派)?

例如,函数的命名空间中存在的所有方法abs

julia

13
推荐指数
1
解决办法
1453
查看次数

在 Julia 中删除结构

我创建了一个复合类型

mutable struct Person
    id::Int64
end
Run Code Online (Sandbox Code Playgroud)

这很顺利,所以我想像这样扩展类型

mutable struct Person
    id::Int64
    contacts::Array{Int64}
end
Run Code Online (Sandbox Code Playgroud)

但有人告诉我这是一个invalid redefinition of constant Person.

如何删除类型?除了重新启动 REPL 之外还有其他方法吗?(请说是。)

julia

11
推荐指数
2
解决办法
1344
查看次数

为什么要复合表达式?

这是我正在阅读的一本书中的一个例子:

volume = begin
    len = 10
    breadth = 20
    height = 30
    len * breadth * height
end
Run Code Online (Sandbox Code Playgroud)

为什么我需要复合表达式?我可以为那个或匿名函数编写volume = 10 * 20 * 30volume = len * breadth * height编写一个函数......

为什么我使用beginend?或可能是更好的问题: 我使用它们,因为我想从上面这本书的例子可能不是很好。

julia

10
推荐指数
4
解决办法
274
查看次数

来自 Julia 中的两个数组/向量的字典

如何Dict()从两个数组创建一个,一个带有键,一个带有值:

a = ["a", "b", "c"] # keys
b = [1,2,3]         # values
Run Code Online (Sandbox Code Playgroud)

julia

9
推荐指数
2
解决办法
190
查看次数

如何预先确定互斥比较?

人眼可以看到没有值x满足条件

x<1 & x>2
Run Code Online (Sandbox Code Playgroud)

但是我怎样才能让R看到这一点。我想在一个通过比较(比如说字符串)而不一定是数据的函数中使用它。假设我想编写一个函数来检查是否无论如何都能完成比较的组合,像这样

areTherePossibleValues <- function(someString){
    someCode
}

areTherePossibleValues("x<1 & x>2")
[1] FALSE
Run Code Online (Sandbox Code Playgroud)

我的意思是可以通过解释作为比较符号的子字符串等来做到这一点,但是我觉得必须有一种更好的方法。实际上,R比较函数('<','>','='等)可能是答案,对吧?

algorithm r

8
推荐指数
1
解决办法
1027
查看次数

有效地选择整数的组合

假设我们有一个 5x5 的矩阵,其中填充了 0。

myMatrix <- matrix(rep(0, 25), ncol = 5)
Run Code Online (Sandbox Code Playgroud)

现在,让我们选择 1 到 5 之间的整数三元组。

triplet <- c(1,2,3)
Run Code Online (Sandbox Code Playgroud)

对于这个三元组的所有组合,我们现在在矩阵中添加 1,使用以下函数:

addCombinationsToMatrix <- function(.matrix, .triplet){
    indexesToChange <- as.matrix(expand.grid(.triplet, .triplet))
    .matrix[indexesToChange] <- .matrix[indexesToChange] + 1
    .matrix
}
Run Code Online (Sandbox Code Playgroud)

使用该函数,我们从

myMatrix

     [,1] [,2] [,3] [,4] [,5]
[1,]    0    0    0    0    0
[2,]    0    0    0    0    0
[3,]    0    0    0    0    0
[4,]    0    0    0    0    0
[5,]    0    0    0    0    0
Run Code Online (Sandbox Code Playgroud)

myMatrix <- addCombinationsToMatrix(myMatrix, triplet)
myMatrix

     [,1] …
Run Code Online (Sandbox Code Playgroud)

algorithm r mathematical-optimization

8
推荐指数
1
解决办法
256
查看次数

获取数组类型

如何获取数组中的类型?

a = [1,2,3]
Run Code Online (Sandbox Code Playgroud)

我可以得到类型 a

typeof(a)
Vector{Int64}
Run Code Online (Sandbox Code Playgroud)

但我其实想要Int64。首先,我认为新手的解决方法可能是

typeof(a[1])
Int64
Run Code Online (Sandbox Code Playgroud)

但这实际上是不正确的,如下所示:

a = [1,2,3, missing]

typeof(a)
Vector{Union{Missing, Int64}}
Run Code Online (Sandbox Code Playgroud)

向量Union{Missing, Int64}的类型是,但第一个元素的类型是

typeof(a[1])
Int64
Run Code Online (Sandbox Code Playgroud)

那么,如何获得向量/数组的类型?

julia

8
推荐指数
1
解决办法
240
查看次数

没有元素的索引数组

我有一个向量

a = Vector(1:4)

[1, 2, 3, 4]
Run Code Online (Sandbox Code Playgroud)

我想将它索引到所有元素,要获取的第三个元素

[1, 2, 4]
Run Code Online (Sandbox Code Playgroud)

R你可以做的a[-3]。你在做Julia什么?

(最终我想遍历所有元素并将它们中的每一个与其余元素进行比较 - 也许这是相关的。)

julia

8
推荐指数
2
解决办法
78
查看次数

类型和结构的区别

我正在尝试学习 Julia 并且正在阅读一本书,该书在关于复合类型的章节中显示了以下两个代码示例:

1.

type Points
    x::Int64
    y::Int64
    z::Int64
end
Run Code Online (Sandbox Code Playgroud)

2.

struct Point
    x::Int
    y::Int
    z::Int
end
Run Code Online (Sandbox Code Playgroud)

然而,这本书没有解释何时使用struct以及何时使用type.

有什么不同?

julia

7
推荐指数
1
解决办法
276
查看次数

标签 统计

julia ×8

algorithm ×2

r ×2

mathematical-optimization ×1