查看: 863|回复: 0|关注: 0

[未答复] Matlab中如何使含有随机数的函数重复执行1000次?用for循环?

[复制链接]

新手

5 麦片

财富积分


050


1

主题

1

帖子

0

最佳答案
发表于 2018-3-22 22:41:39 | 显示全部楼层 |阅读模式
本帖最后由 Flora001 于 2018-3-26 10:05 编辑

我用Matlab定义了一个函数D1=logninv(P,mu1,VAR1),其中,mu1,VAR1为常数,P由两个随机变量R和c决定(并且P<=0时,令P=-P,当P>1时,令P=P-1),用什么方法可以使函数重复运行1000次,然后算这1000个结果的平均值。下面代码可以实现吗?我用下面代码算出来的结果理论上不对,不知道哪里有问题,求教各位大神,提前谢谢了。
VAR1=0.3
x1=1
mu1=log(x1)-(VAR1)^2/2
for i=1:1000
    R(i)=unifrnd(0,1)
    h=0.9
    c(i)=unifrnd(0,1)
    a(i)=R(i)-1+h
    b(i)=R(i)+1-h
    P(i)=(b(i)-a(i))*c(i)+a(i)
    if P(i)<0
         P(i)=-P(i)
    elseif P(i)>1
         P(i)=P(i)-1
    else
         P(i)=P(i)
    end
    D1(i)=logninv(P(i),mu1,VAR1)
end
m=mean(D1)






您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /3 下一条

快速回复 返回顶部 返回列表