Julia 将数组转换为列表

Julia 将数组转换为列表,julia,Julia,我想在Julia的Rmath包中使用dbeta函数进行以下调用: dbeta(x, 1, 25) x是一个100 x 1数组,当我尝试将x与dbeta函数一起使用时,会出现以下错误: ERROR: MethodError: no method matching dbeta(::Array{Float64,2}, ::Int64, ::Int64) 在Julia中有没有办法将数字数组转换为数字列表?我基本上是在试图解决x是一个数组这一事实。 谢谢大家! Rmath 0.4.0版有以下方法用于d

我想在Julia的Rmath包中使用dbeta函数进行以下调用:

dbeta(x, 1, 25)
x是一个100 x 1数组,当我尝试将x与dbeta函数一起使用时,会出现以下错误:

ERROR: MethodError: no method matching dbeta(::Array{Float64,2}, ::Int64, ::Int64)
在Julia中有没有办法将数字数组转换为数字列表?我基本上是在试图解决x是一个数组这一事实。
谢谢大家!

Rmath 0.4.0版有以下方法用于
dbeta

julia> methods(dbeta)
# 2 methods for generic function "dbeta":
dbeta(x::Number, p1::Number, p2::Number) in Rmath at Rmath\src\Rmath.jl:192
dbeta(x::Number, p1::Number, p2::Number, give_log::Bool) in Rmath at Rmath\src\Rmath.jl:209
这表明
dbeta
需要一个标量作为其第一个参数。实际上,当您运行
dbeta(x,1,25)
时,您会得到这个提示:

这将指导您选择正确的方法签名

所以,如何解决你的问题——这很简单。将广播与
一起使用,如下所示:

dbeta.(x, 1, 25)

一切都如预期的那样。一般来说,您可以期望在Julia中的几乎所有函数中都应该使用此模式,如base中的
sin
cos
,即默认情况下,它们接受标量,您应该使用广播
将其应用于向量。Julia手册对此进行了解释。

错误说明
x
属于
Array{Float64,2}
类型,这意味着它实际上是一个
1x100
矩阵,因此需要
vec(x)
将其转换为向量。
100x1
1x100
数组都是矩阵。尽管如此,这里不接受数组或向量作为输入。而且不存在
列表
数据结构。也许他想的是
tuple
,这也行不通。对不起,这是一个误导性的评论,这是一个(坏的/错误的)胡乱猜测,我当时在打电话,没有测试Rmath函数。哇,太简单了!谢谢你的帮助!
dbeta.(x, 1, 25)