我有三个这样的矩阵:
f_vp= Array{tuple{Float64,Float64}}(n,m)
f_value1=zeros(n,m)
f_value2=zeros(n,m)
f_vp
中每个元组的第一个元素用于f_value1
,第二个元素用于f_value2
。因此我必须有两个l
for i=1:m
for j=1:n
f_value1[j,i] = f_vp[j,i][1]
f_value2[j,i] = f_vp[j,i][2]
end
end
我怎样才能更快地完成这项工作? 如果我想要这样的东西:
maximum(f_value2-f_value1)
我可以f_vp
代替f_value1
和f_value2
吗?
答案 0 :(得分:2)
该实现已经很快,但请注意,您可以更简洁地编写这样的循环
for i=1:m, j = 1:n
....
end
WRT到maximum(f_value2 .- f_value1)
您也可以执行(x->x[2]-x[1]).(f_vp)
之类的操作但不应该更快。如果您愿意,可以使用BenchmarkTools进行试用。