朱莉娅有办法解决未知变量

时间:2017-10-10 14:17:17

标签: excel julia

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。

2 个答案:

答案 0 :(得分:2)

通过将f(r) = 0减去另一方,将其写为表达式Price。现在它是一个根本问题。如果你只有一个你正在解决的变量(看起来就是这样),那么Roots.jl是个不错的选择。

fzero(f, a::Real, b::Real)
例如,

会搜索ab之间的解决方案,如果您不知道要开始的范围并且仅提供初始条件,则文档会有更多的算法选择例如。

此外,KINSOL in Sundials.jl很有用,因为当您知道自己开始接近多维根时。对于多维并且需要对初始条件具有一定的稳健性,我建议使用NLsolve.jl

答案 1 :(得分:1)

没有开箱即用的没有。根发现本身就是一门科学。

幸运的是,你的函数对r有一个解析的一阶导数。这意味着您可以使用Newton Raphson,它将极其稳定的功能。

我确定你知道你的功能在r = -1附近表现不佳。