生存分佈函數 - 壽險精算(5)

(2017-10-4銀河統計)


6、生存分佈類函數代碼html

一、生存函數\(S(x)\)web

I、生存函數JS公式字符串app

設有生存函數:\(S(x)=\frac{\sqrt{100-x}}{10}\)\(0<x\le 100\),其JS公式字符串爲"Math.pow(100-x,1/2)/10"。函數

II、類函數代碼spa

函數:webActuary.getSx(fx,v);
參數:fx - JS公式字符串;x - 自變量值

注:這裏就是對定義的任意一元函數按給定自變量求值code

樣例代碼:htm

webTJ.clear();
var oV = 30;
var oStr = "Math.pow(100-x,1/2)/10"; //生存函數JS公式字符串
var oS = webActuary.getSx(oStr,oV); //得到生存函數值
webTJ.display("生存函數值:"+oS,0);

實例代碼(例2.1):blog

webTJ.clear();
var oStr = "1-x/100"; //生存函數JS公式字符串
var oS1 = 1-webActuary.getSx(oStr,50); 
//新生嬰兒活不到50歲的機率
var oS2 = webActuary.getSx(oStr,80); 
//新生嬰兒的壽命超過80歲的機率
var oS3 = webActuary.getSx(oStr,60)-webActuary.getSx(oStr,70); 
//新生嬰兒在60-70歲間死亡的機率
var oS4 = (webActuary.getSx(oStr,30)-webActuary.getSx(oStr,60))/webActuary.getSx(oStr,30); 
//活到30歲的人活不到60歲的機率
webTJ.display("新生嬰兒活不到50歲的機率:"+webTJ.getDecimal(oS1,4),0);
webTJ.display("新生嬰兒的壽命超過80歲的機率:"+webTJ.getDecimal(oS2,4),0);
webTJ.display("新生嬰兒在60-70歲間死亡的機率:"+webTJ.getDecimal(oS3,4),0);
webTJ.display("活到30歲的人活不到60歲的機率:"+webTJ.getDecimal(oS4,4),0);

注:webTJ.getDecimal保留小數有效位數ci

二、生存函數均值和方差(定積分)求值字符串

生存函數均值和方差求值即給定函數表達式(取決生成函數的導數函數)定積分求值。

定積分類函數代碼

函數:webActuary.getDJF(fx,x1,x2,n);
參數:fx - JS公式字符串;x1 - 下限;x2 - 上限;n - 區間分割數

注:區間分割數越大,定積分值越精確

實例代碼(例2.2):

webTJ.clear();
var oStr = "x/105"; //x*f(x)
var oS1 = webActuary.getDJF(oStr,0,105,10000); //平均壽命E(X)
oStr="x*x/105"; //x*x*f(x)
var oS2 = webActuary.getDJF(oStr,0,105,10000); //E(X*X)
oS2=oS2-oS1*oS1; //壽命方差D(X)
webTJ.display("平均壽命E(X):"+webTJ.getDecimal(oS1,4),0);
webTJ.display("壽命方差D(X):"+webTJ.getDecimal(oS2,4),0);

實例代碼(例2.4):

webTJ.clear();
var oStr = "Math.pow((50-x)/50,2)"; 
var oS1 = webActuary.getDJF(oStr,0,50,10000); //剩餘平均壽命
oStr="2*x*Math.pow((50-x)/50,2)"; 
var oS2 = webActuary.getDJF(oStr,0,50,10000);
oS2=oS2-oS1*oS1; //剩餘壽命方差
webTJ.display("剩餘平均壽命:"+webTJ.getDecimal(oS1,4),0);
webTJ.display("剩餘壽命方差:"+webTJ.getDecimal(oS2,6),0);

三、剩餘壽命的分佈函數\(F_x(t)\)

類函數代碼

函數:webActuary.getFx(fx,x,t,u);
參數:fx - JS公式字符串;x - 當前年齡;t - 壽命超過x+t歲;u - 壽命小於x+t+u歲

注:u=0,求\(_{_t}q_{_x}\)。u>0,求\(_{_{t|u}}q_{_x}\)

實例代碼(例2.3):

webTJ.clear();
var oStr = "Math.pow(100-x,1/2)/10"; //生存函數JS公式字符串
var oS1 = 1-webActuary.getFx(oStr,19,45,0); //剩餘壽命生存函數值
var oS2 = webActuary.getFx(oStr,36,15,13); //剩餘壽命分佈函數值
webTJ.display("剩餘壽命生存函數值:"+webTJ.getDecimal(oS1,4),0);
webTJ.display("剩餘壽命分佈函數值:"+webTJ.getDecimal(oS2,4),0);

7、壽險精算代碼窗口


代碼窗口

注:可將例題實例代碼複製、粘貼到「代碼窗口」,點擊「運行代碼」得到計算結果(鼠標選擇實例代碼\(\rightarrow\)Ctrl+C:複製\(\rightarrow\)鼠標點擊「代碼窗口」使其得到焦點\(\rightarrow\)Ctrl+V:粘貼)

代碼運行效果

上篇文章:債務償還 - 壽險精算(4)
下篇文章:生命表 - 壽險精算(6)

相關文章
相關標籤/搜索