我可以在 Julia 中使用quadgk. 一些简单的例子:
julia> f(x) = cos(x)
f (generic function with 1 method)
julia> quadgk(f, 0, pi)
(8.326672684688674e-17,0.0)
julia> quadgk(f, 0, pi/2)
(1.0,1.1102230246251565e-16)
julia> g(x) = cos(x)^2
g (generic function with 1 method)
julia> quadgk(g, 0, pi/2)
(0.7853981633974483,0.0)
julia> pi/4
0.7853981633974483
Run Code Online (Sandbox Code Playgroud)
quadgk的文档似乎并不暗示对多维积分的支持,如果我试图将其误用于 2D 积分,肯定会出现错误:
julia> quadgk( h, 0, pi/2, 0, pi/2)
ERROR: `h` has no method matching h(::Float64)
Run Code Online (Sandbox Code Playgroud)
文档确实建议有一些用于集成的外部包,但没有命名它们。我猜一个这样的包可以做二维积分。这项任务的最佳此类包是什么?
我想你会想看看 Cubat 包:
https://github.com/stevengj/Cubature.jl
可以说,quadgk应该简单地从标准库中删除,因为它是有限的,并且只会误导人们不寻找包来进行集成。
| 归档时间: |
|
| 查看次数: |
5578 次 |
| 最近记录: |