0

我正在尝试循环重做 Matlab 函数 1000 次。这是程序

d = unifrnd (0,10,[10,1]);
c = d.^(-2);
a = round(unifrnd(0,1,[1,10]);
e = a*c
btotal = e+1
SIR = 1/btotal

我想要的是将此函数迭代 1000 次,每次 SIR 的值都会因生成的随机数而变化。对于每次迭代,我希望将 SIR 的值加在一起(求和),并在第 1000 次迭代结束时,找到平均 SIR(均值)。

谢谢您的帮助

4

1 回答 1

2

下面的代码实现了您所描述的内容:

genSIR.m

function SIR = genSIR()
    d = unifrnd (0,10,[10,1]);
    c = d.^(-2);
    a = round(unifrnd(0,1,[1,10]));
    e = a*c;
    btotal = e+1;
    SIR = 1/btotal;
end

主程序

N = 1000;
SIR = zeros(N,1);
for i=1:N
    SIR(i) = genSIR();
end
s = sum(SIR)
m = mean(SIR)

尽管您的功能可以简化...

于 2009-12-13T02:59:54.250 回答