본문 바로가기

java

java 엑셀 함수 IRR 구현

public static int irr(double[] arr){

double irrVal = 0.0;

// 수익율

double r = 0.1;

while(true){

//f(x)

double f1 = 0;

//f'(x)

double f2 = 0;

for(int i=0;i<arr.length;i++){

if(i != arr.length-1){

f1 += (arr[i]/Math.pow(1+r, i));

}

if(i >= 2){

f2 += (arr[i]/Math.pow(1+r, i));

}

}

// r

double x1 = r - f1/f2;

irrVal = x1;

if((x1 - r) < 0.000001)

break;

r = x1;

}

System.out.println("IRR : " + irrVal);

return (int)(irrVal * 100);

}


'java' 카테고리의 다른 글

피보나치 수열 간단 알고리즘  (0) 2013.09.26
java 엑셀 함수 NPV 구현  (0) 2013.07.09
자릿수 만큼 0 붙이기  (0) 2011.09.07
JAVA7 문자열 비교  (0) 2011.09.06
TOMCAT utf-8 OS 별로 한글 깨짐 해결  (0) 2009.09.28