如何解决如何修复 Plots 中的噪音 [julia]
我有一个由另一个函数随机生成的函数。 我的目标是生成大约 10 次该函数,并找到所有这些函数的期望值。
这是我的问题: 每当我尝试直接绘制随机函数(例如通过绘制生成函数)时,一切都很完美,但是当我尝试在中间添加某种函数时,一切都会下坡。
我想可能是因为生成的函数使用了我在其中声明的一些变量,那么当您尝试将其传递给下一个函数时,它可能会出现某种问题,但即使我避免在其中使用变量它仍然很奇怪
工作代码:
plot(generatingFunction())
function R(x)
generatingFunction()(x)
end
plot(R)
working code plot bad code plot
解决方法
Julia 总是 在将参数传递给函数之前对其进行评估。因此,当您调用 plot(generatingFunction())
时,它与执行相同:
f = generatingFunction()
plot(f)
相反,当您将函数的创建—generatingFunction()
—放入另一个函数中时,Julia 会在每次 R
时创建一个新版本叫!
function R(x)
f = generatingFunction()
f(x)
end
plot(R)
您在这里真正想要的是将 f
的创建移到 R
的评估之外 - 您可以将其作为 const
全局或作为捕获的闭包。后者的典型习语是这样的:
let
f = generatingFunction()
global function R(x)
f(x)
end
end
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。