86/23第四章养老保险问题——非线性方程求根的数值解法4.1养老保险问题4.1.1问题的引入养老保险是保险中的一种重要险种,保险公司将提供不同的保险方案以供选择,分析保险品种的实际投资价值.也就是说,如果已知所交保费和保险收入,则按年或按月计算实际的利率是多少?或者说,保险公司需要用你的保费至少获得多少利润才能保证兑现你的保险收益?4.1.2模型分析假设每月交费200元至60岁开始领取养老金.某男子25岁起投保,届时养老金每月2282元;如果其35岁起保,届时月养老金1056元.试求出保险公司为了兑现保险责任,每月至少应有多少投资收益率?这也就是投保人的实际收益率.4.1.3模型假设这应当是一个过程分析模型问题.过程的结果在条件一定时是确定的.整个过程可以按月进行划分,因为交费是按月进行的.假设投保人到第k月为止,所交保费及收益的累计总额为kF,每月收益率为r,用qp、表示60岁之前每月所交的费用和60岁之后每月所领取的费用,N表示停交保险费的月份,M表示停领养老金的月份.4.1.4模型建立在整个过程中,离散变量kF的变化规律满足:11(1),0,1,...,1(1),,...,1kkkkFFrpkNFFrqkNM(4.1.1)在公式(4.1.1)中kF实际上表示从保险人开始交纳保险费以后,保险人账户上的资金数值.我们关心的是,在第M月时,MF能否为非负数?如果为正,则表明保险公司获得收益;若为负,则表明保险公司出现亏损;当为零时,表明保险公司最后一无所有,所有的收益全归保险人,把它作为保险人的实际收益.从这个分析结果来看,引入变量kF,很好地刻画了整个过程中资金的变化关系.特别是引入收益率r,虽然它不是我们所求的保险人的收益率,但从问题的系统环境中来看,必然要考虑引入另一对象——保险公司的经营效益,以此作为整个过程中各量变化的表现基础.87/234.1.5模型求解在(4.1.1)中两式,取初始值00F,我们可以得到:MNkrrqrFFNkrrprFFNkNkNkkkk,...,1],1)1[()1(`,..,2,1,0],1)1[()1(0再分别取,,Nk和Mk,并利用0MF可以求出:0)1)(1()1(pqrpqrNMM它是一个非线性方程.因此求解该模型,就转换为一个求非线性方程的问题.众所周知,代数方程求根问题是一个古老的数学问题.早在16世纪就找到了三次、四次方程的求根公式.但直到19世纪才证明了5n次的一般代数方程是不能用代数公式求解的,因此需要研究用数值方法求得满足一定精度的代数方程的近似解.在工程和科学技术中许多问题常归结为求解非线性方程的问题.正因为非线性方程求根问题是如此重要的基础,因此它的求根问题很早就引起了人们的兴趣,并得到了许多成熟的求解方法.下面我们介绍非线性方程的基本概念与重要解法.4.2非线性方程求根的数值方法4.2.1根的搜索相关定义定义4.2.1设有一个非线性方程0fx,其中()fx为实变量x的非线性函数.(1)如果有x使()0fx,则称x为方程的根,或为fx的零点.(2)当fx为多项式,即110(),0nnnnnfxaxaxaxaa则称()0fx为n次代数方程.当()fx包含指数函数或者三角函数等特殊函数时,则称()0fx为特殊方程.(3)如果()()()mfxxxgx,其中()0gx.m为正整数,则称x为()0fx的m重根.当1m时,称x为()0fx的单根.定理4.2.1设()0fx为具有复系数的n次代数方程,则()0fx在复数域上恰有88/23n个根(r重根计算r个).如果()0fx为实系数方程,则复数根成对出现,即当:0i为()0fx的复根,则i亦是()0fx的复根.定理4.2.2设()fx在,ab连续,且()()0fafb,则存在,xab,使得()0fx,即fx在(,)ab内存在零点.4.2.2逐步搜索法对于方程0fx,,xab,为明确起见,设0fa,()0fb,从区间左端点0xa出发按某个预定步长h(如取bahN,N为正整数),一步一步地向右跨,每跨一步进行一次根的搜索.即检查节点kxakh上的函数值kfx的符号,若0kfx,则kx即为方程解;若0kfx,则方程根在区间1[,]kkxx中,其宽度为h.例4.2.1考察方程310fxxx由于010,250ff则fx在0,2内至少有一个根,设从0x出发,以0.5h为步长向右进行根的搜索.列表记录各节点函数值的符号,如表4.2.1所示.可见方程在1.0,1.5内必有一根.表4.2.1fx的符号x00.51.01.5()fx的符号---+易见,此方法应用关键在步长h的选择上.很明显,只要步长h取得足够小,利用此法就可以得到任意精度的根,但h缩小,搜索步数增多...