计算Y=1+…+n,如果y>100,输出y;如果y<100,输出100
fun<-function(n){
y<-sum(1:n)
if(y>100)print(y)
if(y<100)print(100)
}
fun(100)
计算峰度和偏度
Y<-function(y,s,sk,k,m){
m=mean(y)
s=sd(y)
sk=mean(((y-m)/s)^3)
k=mean(((y-m)/s)^4)
print(m)
print(s)
print(sk)
print(k)
}
y<-c(1,2,4,5,6,8,9,22,13,14,21)
Y(y)
二分法求根
fzero<-function(f,a,b,eps=1e-5){
if(f(a)*f(b) > 0){
print("finding root is fail!")
}else{
repeat{
if(abs(b-a) < eps)break
x<-(a+b)/2
if(f(a)*f(x) <= 0){`在这里插入代码片`
b<-x
}else{
a<-x
}
}
list(root=(a+b)/2,fun=f(x))
}
}
fun<-function(x)x^3-x-1
fzero(fun,1,2,eps = 1e-6)
$root
[1] 1.324718
$fun
[1] -1.857576e-06
fun<-function(x)x^2-1
fzero(fun,-2,0,eps=1e-6)
$root
[1] -1
$fun
[1] 1.90735e-06