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 に答える