此Julia函数中的语法错误在哪里

时间:2014-03-07 03:26:18

标签: julia

我有以下代码:

using Winston

function testConjecGeneral(n,numTrials)
    rangeVec = 2.0
    uppBound = zeros(length(rangeVec), 1)
    count = 1
    for alpha = rangeVec
        uppBound(count) = n*renyi([0.25, 0.5, 0.25], alpha)
        println("Upper bound: $(uppBound(count))")
       count = count+1
    end
end

当我尝试加载代码时,在命令提示符下使用include(“testConjecGeneral.jl”),我在参数列表中得到ERROR:syntax:missing comma or) 加载/home/ganesh/UROP/YuryJulia/testConjecGeneral.jl时,从第3行开始的表达式

有人可以帮我解决这个问题吗?

2 个答案:

答案 0 :(得分:2)

uppBound(count) = n*renyi([0.25, 0.5, 0.25], alpha)

对我来说不合适。零返回一个数组,引用数组项的正确方法是方括号。正如现在所写,看起来它正在尝试调用函数。是否将该行更改为:

uppBound[count] = n*renyi([0.25, 0.5, 0.25], alpha)

解决问题?

答案 1 :(得分:0)

我认为这不是语法错误,但rangeVec并不是您认为的那样。您将rangeVecFloat64分配给2.0,然后将rangeVec视为Array,调用length(rangeVec)并循环alpha = rangeVec }。您的意思是rangeVecArray还是Float64