Julia 多变量函数输入的一维积分
为了演示,让我们从一个简单的多变量函数f(x,y)=xy^2开始 我试图找到一个命令,它允许我对f(2,y)=2y^2从y=0到y=2进行数值积分。(即原始函数是多变量的,但实际进行积分时只剩下一个变量) 我需要这样定义函数,因为我需要使用不同的x值来获得结果。(可能会涉及for循环,但这是另一个故事) 我试着浏览Cuburation的用户指南,但显然没有发现任何有用的东西。也许我错过了Julia 多变量函数输入的一维积分,julia,numerical-integration,Julia,Numerical Integration,为了演示,让我们从一个简单的多变量函数f(x,y)=xy^2开始 我试图找到一个命令,它允许我对f(2,y)=2y^2从y=0到y=2进行数值积分。(即原始函数是多变量的,但实际进行积分时只剩下一个变量) 我需要这样定义函数,因为我需要使用不同的x值来获得结果。(可能会涉及for循环,但这是另一个故事) 我试着浏览Cuburation的用户指南,但显然没有发现任何有用的东西。也许我错过了 有人能帮忙吗?在这种情况下,使用匿名函数包装器最简单: using QuadGK f(x,y) = x*y
有人能帮忙吗?在这种情况下,使用匿名函数包装器最简单:
using QuadGK
f(x,y) = x*y^2
intf(x) = quadgk(y -> f(x, y), 0, 2)
如果匿名函数较长,您可以编写:
intf(x) = quadgk(0, 2) do y
f(x, y)
end
这与后者完全相同,但do
语法允许您编写更长的匿名函数体
现在你可以写下,例如:
julia> intf(1)
(2.6666666666666665, 4.440892098500626e-16)
julia> intf(2)
(5.333333333333333, 8.881784197001252e-16)
julia> intf(3)
(8.0, 0.0)