Julia中的函数是否与Excel中的求解器函数类似,我可以提供和方程式,它将解决未知变量?如果没有,有人知道Excel的求解器函数背后的数学吗? 我不希望任何人解决这个问题,但如果它有帮助:
价格=(Earnings_1 /(1 + r)^ 1)+(Earnings_2 /(1 + r)^ 2)++(Earnings_3 /(1 + r)^ 3)+(Earnings_4 /(1 + r) ^ 4)+(Earnings_5 /(1 + R)^ 5)+(((Earnings_5)(RiskFreeRate))/((1 + R)^ 5)(1-RiskFreeRate))
已知变量包括:价格,所有收益和RiskFreeRate。我只想弄清楚如何解决r。
答案 0 :(得分:2)
通过将f(r) = 0
减去另一方,将其写为表达式Price
。现在它是一个根本问题。如果你只有一个你正在解决的变量(看起来就是这样),那么Roots.jl是个不错的选择。
fzero(f, a::Real, b::Real)
例如,会搜索a
和b
之间的解决方案,如果您不知道要开始的范围并且仅提供初始条件,则文档会有更多的算法选择例如。
此外,KINSOL in Sundials.jl很有用,因为当您知道自己开始接近多维根时。对于多维并且需要对初始条件具有一定的稳健性,我建议使用NLsolve.jl。
答案 1 :(得分:1)
没有开箱即用的没有。根发现本身就是一门科学。
幸运的是,你的函数对r有一个解析的一阶导数。这意味着您可以使用Newton Raphson,它将极其稳定的功能。
我确定你知道你的功能在r = -1附近表现不佳。