gpt4 book ai didi

julia - 与 Julia 的累积集成选项

转载 作者:行者123 更新时间:2023-12-02 02:42:45 24 4
gpt4 key购买 nike

我有两个一维数组,我想在其中计算第一个数组相对于第二个数组指定的标量间距的近似累积积分。 MATLAB 有一个名为 cumtrapz 的函数可以处理这种情况。我可以在 Julia 中尝试类似的事情来完成同样的事情吗?

预期结果是另一个一维数组,其中计算了每个元素的积分。

最佳答案

Julia 有一个数值积分包(参见 link),它定义了 cumul_integrate(X, Y) 并默认使用梯形法则。

但是,如果此包不存在,您可以轻松地自己编写该函数并立即获得非常高效的实现,因为循环不会带来性能损失。

编辑:添加了一个@assert 来检查匹配的向量维度并修复了一个拼写错误。

function cumtrapz(X::T, Y::T) where {T <: AbstractVector}
# Check matching vector length
@assert length(X) == length(Y)
# Initialize Output
out = similar(X)
out[1] = 0
# Iterate over arrays
for i in 2:length(X)
out[i] = out[i-1] + 0.5*(X[i] - X[i-1])*(Y[i] + Y[i-1])
end
# Return output
out
end

关于julia - 与 Julia 的累积集成选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58139195/

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