相关疑难解决方法(0)

朱莉娅的"象征"是什么?

具体来说:我正在尝试使用Julia的DataFrames包,特别是带有names选项的readtable()函数,但这需要一个符号向量.

  • 什么是象征?
  • 为什么他们会选择一个字符串向量?

到目前为止,我发现只有少数几个对朱莉娅语中的单词符号的引用.看起来符号用":var"表示,但我不清楚它们是什么.

旁白:我可以跑

df = readtable( "table.txt", names = [symbol("var1"), symbol("var2")] )
Run Code Online (Sandbox Code Playgroud)

我的两个项目符号仍然存在.

julia

114
推荐指数
2
解决办法
1万
查看次数

在朱莉娅,为什么@printf是宏而不是函数?

在Julia中,打印格式化字符串的语法如下:

@printf("Hello %d\n", 5)
Run Code Online (Sandbox Code Playgroud)

为什么是@printf宏而不是函数?它是否可以接受不同数量的参数?

julia

62
推荐指数
2
解决办法
1万
查看次数

Julia:使用带有Arrays和SharedArrays的pmap

我已经在Julia工作了几个月了,我有兴趣并行写一些代码.我正在研究一个问题,我使用1个模型为几个不同的接收器生成数据(每个接收器的数据是一个向量).每个接收器的数据可以独立计算,这使我相信我应该能够使用pmap函数.我的计划是将数据初始化为2D SharedArray(每列代表1个接收器的数据),然后在每个列上进行pmap循环.但是我发现将SharedArray与pmap一起使用并不比使用map的串行工作快.我写了下面的虚拟代码来说明这一点.

@everywhere function Dummy(icol,model,data,A,B)
    nx = 250
    nz = 250
    nh = 50
    for ih = 1:nh
        for ix = 1:nx
            for iz = 1:nz
                data[iz,icol] += A[iz,ix,ih]*B[iz,ix,ih]*model[iz,ix,ih]
            end
        end
    end
end


function main()

    nx = 250
    nz = 250
    nh = 50

    nt = 500
    ncol = 100

    model1 = rand(nz,nx,nh)
    model2 = copy(model1)
    model3 = convert(SharedArray,model1)

    data1 = zeros(Float64,nt,ncol)
    data2 = SharedArray(Float64,nt,ncol)
    data3 = SharedArray(Float64,nt,ncol)

    A1 = rand(nz,nx,nh)
    A2 = copy(A1)
    A3 = convert(SharedArray,A1)

    B1 = rand(nz,nx,nh) …
Run Code Online (Sandbox Code Playgroud)

parallel-processing matrix pmap julia

7
推荐指数
1
解决办法
792
查看次数

julia introspection - 获取传递给函数的变量名称

在朱莉娅,有没有办法获得传递给函数的名称?

x = 10
function myfunc(a)
# do something here
end
assert(myfunc(x) == "x")
Run Code Online (Sandbox Code Playgroud)

我是否需要使用宏或是否有提供内省的本机方法?

julia

6
推荐指数
2
解决办法
1923
查看次数

标签 统计

julia ×4

matrix ×1

parallel-processing ×1

pmap ×1