MethodError:在基于Julia中的正态分布生成随机数时没有匹配/(:: Int64,:: Array {Int64,1})的方法

时间:2016-11-27 20:54:30

标签: arrays random julia

我需要从正态分布构造一个多元素的随机数组(使用" Distributions"包)。我正在使用下面的代码。

[rand(Distributions.Normal(0,a[end]+0.5*(1-b[n])),c,length(b[1,:])*d[n]/c) for n=1:length(b)]

其中(我在本例中使用随机数):

a=rand(10)
b=rand(5,32)
c=5
d=collect(1:32)

当我运行代码时,收到以下错误消息:

  

MethodError:没有方法匹配/(:: Int64,:: Array {Int64,1})

关于如何让它发挥作用的任何想法?

感谢您的帮助。

-Alejandro Braun

编辑: 我把d改为收集(1:32)。我在输入问题时犯了一个错误,对于这可能引起的任何混淆我道歉。

1 个答案:

答案 0 :(得分:2)

不是100%确定你要做什么,但是如果你强制数组大小为整数它会给你一些东西(如果你改变数组的大小d)...更多信息?

a=rand(10)
b=rand(5,32)
c=5
d=rand(5,32);

[rand(Normal(0,a[end]+0.5*(1-b[n])),c,floor(Int,length(b[1,:])*d[n]/c)) for n=1:length(b)]