我想预分配一个有 n 行的向量(例如下面的 A),准备用 Measurements.jl 变量(即 a ± b 形式的变量)填充循环。例如:
using Measurements
A = zeros(5,1) # this doesn't work
for n = 1:5
local B = rand() ± rand()
local C = rand() ± rand()
global A[n,1] = sqrt.((B-C).^2)
end
println(A)
最佳答案
您可以制作一个 Measurements 数组。jl Measurement
有几种方法,包括
A = fill(0±0, size)
或
A = Array{Measurement}(undef, size)
例如
using Measurements
A = fill(0±0, 5, 1)
for n = 1:5
B = rand() ± rand()
C = rand() ± rand()
A[n,1] = sqrt.((B-C).^2)
end
julia> A
5×1 Matrix{Measurement{Float64}}:
0.28 ± 1.0
0.45 ± 0.87
0.67 ± 0.58
0.28 ± 0.62
0.3 ± 0.67
N.B.,你通常不需要那些 global
和 local
注释,除非你在脚本中的全局范围内运行(而不是在 REPL 中,在一个函数中,一个 let block ,或者其他任何地方)。
关于julia - 在 JULIA 中,我如何预分配一个包含 n 行的 Measurements.jl 向量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71097307/