我需要从正态分布构造一个多元素的随机数组(使用" 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)。我在输入问题时犯了一个错误,对于这可能引起的任何混淆我道歉。
答案 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)]