小编BoZ*_*haa的帖子

在 Julia 中将对象数组解包为函数参数

如何将值数组解包为函数参数?

例如,函数Iterators.product()以可变数量的迭代器作为参数,即

collect(Iterators.product(1:2, 3:5))
  2×3 Array{Tuple{Int64,Int64},2}:
   (1, 3)  (1, 4)  (1, 5)
   (2, 3)  (2, 4)  (2, 5)
Run Code Online (Sandbox Code Playgroud)

给定一个迭代器数组,例如a=[1:2, 3:5],你如何在a不手动访问它的元素的情况下解包a[1](例如,当a事先不知道的长度时)?

我希望 Python 中有类似于星号运算符的东西(类似于Iterators.product(*a)),但我还没有找到类似的东西。

julia

4
推荐指数
1
解决办法
144
查看次数

有没有一种在matlab GUI中显示"table"的简单方法?

我以matlab的形式从我的系统中保存报告table().要显示这些表,我正在使用disp(myTable).当我只在shell中查看表时,这很好.

但是,现在我希望构建一个GUI,它将显示这些表以及图表和其他信息.我发现我可以通过静态文本GUI元素显示字符串

set(handles.staticText1, 'String', 'My text! Yay!').

但是,我无法弄清楚将保存为表格的数据转换为字符串的任何简单方法.

是否有一种在GUI中显示表格的简单方法,还是需要手动提取表格中的所有列?

编辑:好的,所以我找到了一种将表保存到字符串中的方法:

tableString=evalc('disp(table)')

但结果是一场灾难,看起来就像我在shell中获得的格式整齐的字符串.

matlab matlab-guide

3
推荐指数
1
解决办法
8403
查看次数

在不同的 WSL2 实例之间移动文件?

如果可能,如何将文件从一个 WSL 实例直接移动到另一个实例?这在尝试新发行版时很有用,例如将 /home 从 Ubuntu 18.04 复制到 20.04。

我厌倦了通过资源管理器通过访问\\wsl$Windows 主机来执行此操作,它似乎无法可靠地传输所有文件并且总体上感觉不对。

windows-subsystem-for-linux wsl-2

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

逐元素构建julia数组的有效方法

当我不确定最终数组大小时,逐个元素构建 Julia 数组的最佳方法是什么?在我的问题中,我在单个 for 循环中构建数组。

到目前为止,我已经发现我可以推入数组或索引到预先分配的数组中:

using BenchmarkTools

function push_to_array!(array, N)
    for i in 1:N
        # some computation
        push!(array, rand(Int64))
    end
end

function fill_array!(array, N)
    for i in 1:N
        # some computation
        array[i]=rand(Int64)
    end
end

N = 100_000_000 # unknown in the real problem

empty = Vector{Int64}()
preallocated = Vector{Int64}(undef, 2*N) # 2*N represents some upper bound on N

@btime push_to_array!(empty, N)
#  28.272 s (6 allocations: 0 bytes)
@btime fill_array!(preallocated, N)
#  2.449 s (0 allocations: 0 bytes)
Run Code Online (Sandbox Code Playgroud)

因此,填充预先分配的数组比推送快得多,但是,这有点麻烦,因为我需要使用 …

arrays julia

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