gpt4 book ai didi

julia - 评估函数中的向量或元组 (julia)

转载 作者:行者123 更新时间:2023-12-03 15:41:13 25 4
gpt4 key购买 nike

我想在函数 $f$ 中计算一组向量(或元组),但 Julia 告诉我这是不可能的。
例如:如果我有一个元组数组 p=[(1,1), (1,-1), (-1,1), (-1,-1)]和一个函数 f(x,y)=x+y .我想计算f(p[1]) = f(1,1)= 2 .但是 Julia 告诉我这些类型是不兼容的。
你能帮我吗?

最佳答案

你必须像这样生成一个元组:

julia> p=[(1,1), (1,-1), (-1,1), (-1,-1)]
4-element Array{Tuple{Int64,Int64},1}:
(1, 1)
(1, -1)
(-1, 1)
(-1, -1)

julia> f(x,y)=x+y
f (generic function with 1 method)

julia> f(p[1]...)
2
你也可以定义一个高阶函数 splat这将方便地包装任何功能并执行飞溅。它很有用,因为你可以例如广播这样的功能:
julia> splat(f) = x -> f(x...)
splat (generic function with 1 method)

julia> splat(f)(p[1])
2

julia> splat(f).(p)
4-element Array{Int64,1}:
2
0
0
-2
或者,您可以定义您的函数 f像这样:
julia> f((x,y),)=x+y
f (generic function with 1 method)

julia> f(p[1])
2
现在你不必做泼溅了。

关于julia - 评估函数中的向量或元组 (julia),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66322267/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com