全部版块 我的主页
论坛 提问 悬赏 求职 新闻 读书 功能一区 经管百科 爱问频道
1351 2
2014-11-13

n=50

x=rep(0,n)

i=1

while(i < n){

  x[i+1]=0.3*x+ rnorm(1)

  i=i+1

}

x

v=sort(x)[3]

fzero<-function(f,a,b,eps=1e-5)

{if(f(a)*f(b)>0) list(fail="finding root is fail!")

else {repeat{if(abs(b-a)<eps) break

t<-(a+b)/2

if(f(a)*f(t)<0) b<-t else a<-t}

list(root=(a+b)/2,fun=f(t))}}

f<-function(t) v *mean(exp(t*x))-mean(x*exp(t*x))

t=fzero(f,-5,0,1e-5)$root

t

y=rep(0,n)

for(i in 1:n){

y=exp(t*x)

i=i+1

}

y

mean(y)

log(mean(y))

L=rep(0,n)

pha=log(mean(y))

for(i in 1:n){

L=exp(-t*x+pha)

i=i+1

}

L

twof=function(f,a,b){

eps=1e-5

while(abs(b-a)>eps){

h=(a+b)/2

if(f(h)-0.05<0) a=h

else b=h

}

list(root=h,fun=f(h))}

g=function(h){

sum(ifelse(x<=h,L,0))/n

}

h=twof(g,-1.59735561,2.39419319)$root

v1=h

v1

alpha=0.05

z=rep(0,n)

for(i in 1:n){

if(-v1-x<=0)z=0

else z=(-v1-x)*L

i=i+1

}

c1=v1-(1/alpha)*mean(z)

c1

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2014-11-13 22:52:34
500次不就是加个循环么
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2014-11-14 22:12:50
bookaccount 发表于 2014-11-13 22:52
500次不就是加个循环么
要怎么加呢?我今天加了出现错误:错误于-t : 一进列运算符的参数不对。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

分享

扫码加好友,拉您进群