Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Julia 多变量函数输入的一维积分_Julia_Numerical Integration - Fatal编程技术网

Julia 多变量函数输入的一维积分

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

为了演示,让我们从一个简单的多变量函数f(x,y)=xy^2开始

我试图找到一个命令,它允许我对f(2,y)=2y^2从y=0到y=2进行数值积分。(即原始函数是多变量的,但实际进行积分时只剩下一个变量)

我需要这样定义函数,因为我需要使用不同的x值来获得结果。(可能会涉及for循环,但这是另一个故事)

我试着浏览Cuburation的用户指南,但显然没有发现任何有用的东西。也许我错过了


有人能帮忙吗?

在这种情况下,使用匿名函数包装器最简单:

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)