小编red*_*ley的帖子

在 Julia 中解包返回地图

我有一个返回数组的函数。我想将函数映射到输入向量,输出是所有数组的简单串联。功能是:

function log_it(r, bzero = 0.25, N = 400)
    main = rand(Float16, (N+150));
    main[1] = bzero;
    for i in 2:N+150
        main[i] = *(r, main[i-1], (1-main[i-1]))
    end;
    y = unique(main[(N+1):(N+150)]);
    r_vec = repeat([r], size(y)[1]);
    hcat(r_vec, y)
end;
Run Code Online (Sandbox Code Playgroud)

我可以很好地映射它:

map(log_it, 2.4:0.001:2.405)
Run Code Online (Sandbox Code Playgroud)

但结果很糟糕:

 [2.4 0.58349609375]
 [2.401 0.58349609375]
 [2.402 0.583984375; 2.402 0.58349609375]
 [2.403 0.583984375]
 [2.404 0.583984375]
 [2.405 0.58447265625; 2.405 0.583984375]
Run Code Online (Sandbox Code Playgroud)

注意,嵌套数组的长度是无限的——我正在寻找一种不依赖于提前知道嵌套数组长度的解决方案。

我想要的是这样的:

 2.4    0.583496
 2.401  0.583496
 2.402  0.583984
 2.402  0.583496
 2.403  0.583984
 2.404  0.583984
 2.405  0.584473
 2.405  0.583984
Run Code Online (Sandbox Code Playgroud)

我使用 for 循环制作的:

results = Array{Float64, …
Run Code Online (Sandbox Code Playgroud)

julia

5
推荐指数
1
解决办法
154
查看次数

标签 统计

julia ×1