public final class Irr extends java.lang.Object implements Function
Constructor and Description |
---|
Irr() |
Modifier and Type | Method and Description |
---|---|
ValueEval |
evaluate(ValueEval[] args, int srcRowIndex, int srcColumnIndex) |
static double |
irr(double[] income)
Computes the internal rate of return using an estimated irr of 10 percent.
(使用 10% 的估计 irr 计算内部收益率。)
|
static double |
irr(double[] values, double guess)
Calculates IRR using the Newton-Raphson Method.
(使用 Newton-Raphson 方法计算 IRR。)
|
public ValueEval evaluate(ValueEval[] args, int srcRowIndex, int srcColumnIndex)
evaluate
in interface
Function
(在接口函数中求值)
args
- the evaluated function arguments. Empty values are represented with
BlankEval
or
MissingArgEval
, never
null
.
(args - 评估的函数参数。空值用 BlankEval 或 MissingArgEval 表示,绝不为 null。)
srcRowIndex
- row index of the cell containing the formula under evaluation
(srcRowIndex - 包含计算公式的单元格的行索引)
srcColumnIndex
- column index of the cell containing the formula under evaluation
(srcColumnIndex - 包含正在评估的公式的单元格的列索引)
ErrorEval
, never
null
.
Note - Excel uses the error code
#NUM! instead of IEEE
NaN, so when numeric functions evaluate to
Double.NaN
be sure to translate the result to
ErrorEval.NUM_ERROR
.
(评估结果,可能是 ErrorEval,绝不为空。注意 - Excel 使用错误代码 #NUM!而不是 IEEE NaN,因此当数值函数计算为 Double.NaN 时,请务必将结果转换为 ErrorEval.NUM_ERROR。)
public static double irr(double[] income)
income
- the income values.
(收入 - 收入值。)
public static double irr(double[] values, double guess)
Starting with the guess, the method cycles through the calculation until the result is accurate within 0.00001 percent. If IRR can't find a result that works after 20 tries, the Double.NaN<> is returned.
The implementation is inspired by the NewtonSolver from the Apache Commons-Math library,
(使用 Newton-Raphson 方法计算 IRR。从猜测开始,该方法循环计算,直到结果精确到 0.00001% 以内。如果 IRR 在 20 次尝试后找不到有效的结果,则返回 Double.NaN<>。该实现的灵感来自 Apache Commons-Math 库中的 NewtonSolver,)values
- the income values.
(values - 收入值。)
guess
- the initial guess of irr.
(guess - irr 的初始猜测。)
Double.NaN
if the maximum iteration count is exceeded
(irr 值。如果超过最大迭代次数,该方法返回 Double.NaN)
Copyright 2021 The Apache Software Foundation or its licensors, as applicable.