Plot 如何修复绘图中的噪音[julia]
我有一个由另一个函数随机生成的函数。 我的目标是让该函数生成大约10次,并找到所有函数的预期值 我的问题是: 每当我试图直接画一个随机函数(通过绘制它的生成函数,例如)它都是完美的,但是当我尝试在中间有某种函数时,它都会下山。< /P>Plot 如何修复绘图中的噪音[julia],plot,julia,plots.jl,Plot,Julia,Plots.jl,我有一个由另一个函数随机生成的函数。 我的目标是让该函数生成大约10次,并找到所有函数的预期值 我的问题是: 每当我试图直接画一个随机函数(通过绘制它的生成函数,例如)它都是完美的,但是当我尝试在中间有某种函数时,它都会下山。< /P> 我想,也许,因为生成的函数使用了我在其中声明的一些变量,那么当你试图将它传递给下一个函数时,它可能会有一些问题,但是即使我避免在其中使用变量,它仍然会出现问题 工作守则: plot(generatingFunction()) 错误代码: function
我想,也许,因为生成的函数使用了我在其中声明的一些变量,那么当你试图将它传递给下一个函数时,它可能会有一些问题,但是即使我避免在其中使用变量,它仍然会出现问题
工作守则:
plot(generatingFunction())
错误代码:
function R(x)
generatingFunction()(x)
end
plot(R)
Julia总是在将参数传递给函数之前对其进行求值。因此,当调用plot(generatingFunction())
时,与执行以下操作相同:
f = generatingFunction()
plot(f)
相反,当您将函数的创建-generatingFunction()
-放在另一个函数中时,每次调用R
时,Julia都会创建一个新版本
这里您真正想要的是将f
的创建移到R
的计算之外-您可以将其作为常量
全局或捕获的闭包来执行。后者的一个典型习语是:
let
f = generatingFunction()
global function R(x)
f(x)
end
end
let
f = generatingFunction()
global function R(x)
f(x)
end
end