我的目的不是找出最大值是什麼,而是產生不同隨機數時最大值出現的列號(S)數字〜N到行的整個列元素。找出最大值出現在Mata矩陣中的列號在for循環中
這裏一個潛在的問題是如果同一行中的兩個或多個元素包含最大值相同的值?我知道他們的內容不太可能是真實的數字。但我將第一行中的所有元素都設置爲零。因此,在第一輪中,所有值都是最大值,並受到下一個條件操作的影響。
我會想列數(S)做進一步的計算下一輪循環
的假設所有的矩陣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*]
}
}
非常感謝您的幫助。
謝謝尼克。我越來越注意 - 選擇 - 並做了一些試驗。 Select()僅適用於矢量。假設y是一個矩陣,那麼就不存在y:== max(y [2 ,.]) – Joey 2013-04-27 17:56:50
你非常有幫助。我爲我的無知和傲慢道歉。 STATA(MATA)是一個非常有用的工具。謝謝你和馬丁的幫助。我從你們兩位獲得了靈感和方向。 statalist檔案也是有用的。 之前我錯了select(),它可能來自矩陣,但它一次處理向量。我用垂直矢量而不是水平矢量成功了。如果有機會將繼續探討。請在回答中閱讀我的最終代碼。 再一次,謝謝你,謝謝你。 – Joey 2013-04-28 07:04:11