0

私の目的は、最大値が何であるかを調べることではなく、行の列要素全体に対して異なる乱数 ~N を生成したときに最大値が発生する列番号 (S) を見つけることです。

ここで問題になる可能性があるのは、同じ行の 2 つ以上の要素に最大値である同じ値が含まれている場合はどうなるかということです。コンテンツが実数であるため、ありそうもないことはわかっています。しかし、最初の行のすべての要素をゼロに事前設定しました。したがって、最初のラウンドでは、すべての値が最大になり、次の条件付きアクションの対象になります。

ループの次のラウンドで列番号をさらに計算する必要があります

ここでスペースを節約するために、for ループの前にすべての行列が適切に定義されているとします。

Mata:
for (k=1; k<=10; k++){ 
for (j=1; j<=20; i++){ 
A[k,j]= sum[k,j] \ count [1,j]
}
   Choose max A[k,j]
   For that j*   for max A[k,j*] to occur
        {count[1,j*]=count[1, j*+1]
            y= rnormal(1,1,x,5)
            C[k,j*]=y
            sum[k,j*]=sum[k,j*]+c[k,j*]
            }

}

手伝ってくれてどうもありがとう。

4

2 に答える 2

0
for (k=2; k<=n; k++){ 
   for (j=1; j<=50; j++){ 
      Ri[k,j]= sumAi[1,j] / count[1,j]
   }      
   Maxj= select((1..50), (Ri[k,]:==max(Ri[k,])))
   count[1,Maxj]=count[1,Maxj]+1
   y= rnormal(1,1,x,5)
   Ai[k,Maxj]=y
   sumAi[1,Maxj]=sumAi[1,Maxj]+y
   Maxj=.
   }
于 2013-04-28T07:05:13.613 に答える