我需要從正態分佈構造一個隨機數的多元素數組(使用「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'生成的矩陣的寬度。 –