如果遇到多元方程的求解,就需要利用rootSolve包的函数multiroot()来解方程组。multiroot()用于对n个非线性方程求解n个根,败亏其要求完整的雅可比矩阵,采用Newton-Raphson方法。其调用格式为:
multiroot(f, start, maxiter = 100,
rtol = 1e-6, atol = 1e-8, ctol = 1e-8,
useFortran = TRUE, positive = FALSE,
jacfunc = NULL, jactype = "fullint",
verbose = FALSE, bandup = 1, banddown = 1,
parms = NULL, ...)
f指定所要求解的函数由于使用的是牛顿迭代法,因而必须通过start给定根的初始值,其中的name属性还可以标记输出变量的名称maxiter是允许的最大迭代次数rtol和atol分别为相对误差和绝对误差,一般保持默认值即可ctol也是一个用于控制迭代次数的标量,如果两次迭察嫌神代的最大变化值小于ctol,那么迭代停止,得到方程组的根。
例如,己知某种保险产品在一个保单年度内的损失情况如下所示,其中给出了不同损失次数下的保单数,我们对损失次数的分布进行估计。已知分布类型是泊松(Poisson ) ,其样本均值即为参数λ的矩估计。
从第一行开始,N直到庆晌缓pai,都是赋值语句。其中x1和x2是长度为N,类型为誉模十进制小数的向量。runif是生成一个随机数,取值在-1到1之间。for循环语句生成具体的两个向量,即x1和x2,其中的每个数都用runif来生成。
紧接之后的if语句用来计数n,其条件为如果对于数值x1[i]和x2[i],如果点(x1[i],x2[i])位于单位圆内,n就加1。一共循环N次。
最后就得出值pai = 4*n/N。
看下来不像是一个参数值估计程序。谨盯
根据你的代码编程情况而定,一般来说不用改。R是用于统计分析、绘图的语言和 *** 作环境。R是属于GNU系统的一个漏仔自腔旅由、免费、源代码开放的软件,它伍搜凳是一个用于统计计算和统计制图的优秀工具。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)