我基本上試圖找出如何生成M對象的不同配置的基向量代碼到N個不同的狀態(例如,如果我有2個孩子之間有2個零食,我可以有(2,0)(0,2)或(1,1),可怕的例子,但多數民衆贊成在想法)在matlab中生成所有可能的列向量
我很努力弄清楚如何做到這一點,而不進入許多不同的循環(我希望這自動)。這個想法是創建一個矩陣,其中每一行是一個長度爲M的向量。我將從vec(1)= N開始,然後是一個if循環,如果sum(vec)== N,Matrix(1,:)= vec ;然後我可以採取vec(1)= N-i並且執行相同的操作。
我唯一的問題是我沒有看到如何使用if和forget它,所以如果我有5個位置可能有2個對象,我將如何做到這一點(1 0 0 0 1)。
我不知道該怎麼做。
因此,對於5點位置和20個對象,您的載體將包括'[14 0 3 2 1]'和'[2 1 3 9 5]'? – beaker
在交易所有一個叫做'combn'的函數。檢查一下它是否做到了你想要的。 – Matt