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)