我需要从正态分布构造一个随机数的多元素数组(使用“Distributions”包)。我正在使用下面的代码。MethodError:无法匹配/(:: Int64,:: Array {Int64,1})当生成基于Julia中的正态分布的随机数
[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: no method matching /(::Int64,::Array{Int64,1})
任何想法上我如何才能使这个工作?
谢谢你的帮助。
-Alejandro布劳恩
编辑: 我改变d,以收集(1:32)。我在输入问题时犯了一个错误,对于可能造成的任何混淆,我表示歉意。
这个错误信息只是意味着你试图用一个数组除去一个整数......大概你是想做相反的事情?话虽如此,当我尝试在上面运行你的代码时,我得到了一个完全不同的错误信息('没有方法匹配rand(:: Distributions.Normal {Float64},:: Int64,:: Float64)')(也就是说,重新尝试在定义您尝试生成的随机数组的大小时尝试使用Float而不是Int);大概是因为朱莉娅自动将int-by-int分割的结果转换为float。 –
你想要得到什么样的形状?您不能将浮点数作为维度大小之一? –
该代码似乎并未在给定的表单中运行。例如,'d [n]'是一个浮点小数,并且乘以'rand'生成的矩阵的宽度。 –