arrays - Julia 初始化数组/向量不是零而是随机

标签 arrays initialization constants julia

当我在 Julia 中定义一个数组时:

z = Array(Float64, 1)

似乎分配了一个随机值。有时它是 0.0,但大多数情况下它类似于 3.78692e-316。

这种行为是有意的吗?

以及如何用 10 个值初始化“常量”向量,例如 b = [2.0 2 2 2] ?

最佳答案

@waTeim 是正确的,在分配数组时,它没有初始化为 0 或任何特定值。

在 Julia 中分配和初始化具有特定值的新数组的方法是使用 fill()所以对于您的 b你会这样做:

b = fill(2.0, 10)

这给你:
10-element Array{Float64,1}:
 2.0
 2.0
 2.0
 2.0
 2.0
 2.0
 2.0
 2.0
 2.0
 2.0

或者,如果您想要一个行向量:
b = fill(2.0, 1, 10)

这给你
1x10 Array{Float64,2}:
 2.0  2.0  2.0  2.0  2.0  2.0  2.0  2.0  2.0  2.0

关于arrays - Julia 初始化数组/向量不是零而是随机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23903965/

相关文章:

c - 收到信号 SIGSEGV : vfprintf. c : No such file or directory?

java - Java和Swift中常量和变量的比较

java - 通过比较两个不同长度的 String 数组来创建新数组

arrays - Perl的结构和分配

arrays - Insure++ 会检测堆上 C 结构中的数组溢出吗?

C++从文件中删除重复的数字

Swift 通过 Init 传递多个参数

swift - 在 Swift 3.1 中从 init!() 隐式解包可选

C++ const 函数错误

c++ - 如何将 char 数组定义为常量?