我希望我正確地描述了這一點:我正在尋找基於對象的當前狀態,轉換矩陣和隨機變量(「rv」)更新對象的狀態。作爲一個例子,假設我有一個由三個狀態(比如固體,液體,氣體)組成的N個元素的矩陣。每個州都有自己改變國家的可能性。與rv相比較的「閾值」決定了狀態。從排序列表中返回值的位置
例如,
Solid Liquid Gas
Solid .50 .75 1.00
Liquid .25 .50 1.00
Gas .15 .35 1.00
我想寫入該給定的這種轉變矩陣的功能,當前狀態,和RV,返回作爲高效的方式儘可能新的狀態(我運行許多模擬,並且實際的矩陣比3x3大得多)。
這裏是我的代碼,其中'value'是rv,'list'是包含上述值的選定行的排序列表。例如,對於 「固體」 的名單是:
[.50 .75,1.0]
def return_location(value, list):
# Returns location i from sorted list where value is >= i and < i+1
len = length(list)
for i in range(0,(len-1)):
if value < list[i]
return(i)
break;
任何想法讚賞!
但是,邏輯如何選擇屬性? – GPB
對不起,要麼是我不明白,要麼是不清楚:我想通過參考一個RV來選擇一個新的狀態,它是當前狀態的函數。例如,如果當前狀態爲「固體」且RV(U [0,1))爲0.8,則新狀態將爲「氣體」。不知道如何做到這一點,沒有一個循環,我不認爲是Pythonic - 或高效。 – GPB
已經開始製作一個函數來進一步展示你想要做什麼?我不明白你使用的術語,如RV - 是參考值的縮寫嗎?這個學習/工作領域是什麼,例如物理?是否有任何可以鏈接到的文檔/在線參考文件是一個示例或進一步解釋這些概念?對不起,只是想幫助別人,直到有人出現。謝謝。 – davedwards