自编函数是几乎每一种编程语言的基础功能,有些时候我们需要解决的问题可能没有完全一致的包中的函数来进行解决,这个时候自编函数就成了一样利器,而Python与R在这方面也有着一定的差别,下面举例说明:
Python
#一个例子
def gold(n=1000):
x = [1,1]
for i in range(n):
x.append(x[-1]+x[-2])
print('黄金分割比的近似值:'+str(x[-2]/x[-1]))
gold(10000)
黄金分割比的近似值:0.6180339887498949
R
#黄金分割比的近似解
> function_ = function(n=100){
+ st = c(1,1)
+ for(i in 1:n){
+ st=c(st,st[i]+st[i+1])
+ }
+ print(round(st[length(st)-1]/st[length(st)],10))
+ print(st[length(st)])
+ }
> function_(n=10)
[1] 0.6180556
[1] 144
> function_(n=1474)
[1] 0.618034
[1] 1.306989e+308
> (sqrt(5)-1)/2
[1] 0.618034