3.142
用于平时的数据处理,返回数值类型。
需要字符串的时候还是要sprintf("%.3f",pi),是character的
最简单但计算量最大的是泰勒公式:e=1+1/1!+1/2!+1/3!+1/4!+...
e_fun <- function(n) {etemp <- 1
ni <- 1L
for (i in 1:n) {
etemp <- etemp + 1 / ni
ni <- ni * (i + 1)
}
return(etemp)
}
不过你题目中要求的是求到精度为0.00001就停止,所以可以采用repeat循环:
i <- 1Lni <- 1L
etemp <- 1
repeat {
etemp1 <- etemp
etemp <- etemp + 1 / ni
ni <- ni * (i + 1)
i <- i + 1
if (etemp - etemp1 < 0.00001) break
}
i
etemp
在最后可以看到,求到i=10时,精度就已经达到要求了。
“+”标示语句没有闭合,比如在循环中,在分支中,或者写函数等,分多行都会有加号;
直接键盘按Esc键退出就可以把+号去掉,恢复正常的编辑状态。清屏用快捷键Ctrl+L 就可以清除所有编辑的语句。
例如;
td<-function(fx,a,b,r){ #(fx:是表达式,方程是fx=0,变量是dux;a,b,区间[a,b],r是精度。
x<-ada<-eval(fx)
调用函数:
fx<-expression(x*x-x-1)
a<-1b<-2r<-1e-5
td(fx,a,b,r)
扩展资料:
R语言有程序的控制结构和函数function。尽管R语言是解释型语言,但是可以用编译的方式实现,调用方法是source(file.R)命令。R语言的软件包能在编程环境中,通过子菜单下载后安装,因此是无障碍的。
程序中加载软件包的命令,
>library(parallel) #并行计算软件包,单线程多核
查找软件包中所有函数,
>library(help=parallel)
>help(packet=parallel)
R语言和解释型语言一样,没有变量声明。R语言能编写c++程序,应用Rcpp软件包。
参考资料来源:百度百科-R语言编程