[VBA ] 矩陣交換問題

看板Visual_Basic作者 (真心開始)時間11年前 (2014/09/10 18:56), 編輯推噓1(101)
留言2則, 2人參與, 最新討論串1/1
大家好,我是初學者,目前需要使用基因演算法完成論文,在打程式時候有遇到以下問題 ,請求,感謝。 問題如下: 1 0 0 1 0 1 1 0 1 1 1 1 A陣列 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1 A1陣列 0 0 0 0 0 0 0 1 0 0 1 0 1 1 0 0 A2陣列 0 0 0 0 A = A1+A2 主要是 A陣列中的值加起來會是A1與A2中的所有值加起來 陣列的關係限制如下 任一行或列中,加起來的值, A1 = A2 = A/2,也就是說A1與A2的邊際值會等於A/2的邊 際值。 例如說 第一列中,A總值為2,A1與A2分別為1 。在A矩陣中,如果個數為1,那分解成A1 或A2時,相對同行同格的個數只能為0或1,如果原本是0,那則只能為0。 A陣列已知,想要轉成A1與A2 但是有點卡關 我主要想要從A陣列中 隨機分解出A1與A2 範例中A1與A2是我自己算出來的 而A1與A2 的值介於0或1之間,位置隨機,只要合乎限制式 如圖: http://ppt.cc/wySZ 如上圖,上面是A矩陣,我要分解成A1與A2矩陣,那我先找出A1矩陣,A2則由A減A1產生。 在A矩陣中可以看到第一列加總是14,那分解出來的A1第一列加總則要7,第一行A矩陣加 總為2,分解出來A1第一行則要1,以此類推。 在矩陣的任一行任一列的單獨個數,在A矩陣裡,如果個數值為1,那分解成A1的個數可以 為0或1(隨機);如果A矩陣中的個數為0,那A1的相對那格子的個數只能為0。舉例:如 cells(1,1)的個數為1,那分解出來在cells(10,1)的個數可以為0或1 ;cells(1,2)為0, 那分解出來在cells(10,2)只能為0。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.125.94.66 ※ 文章網址: http://www.ptt.cc/bbs/Visual_Basic/M.1410346607.A.B36.html

09/10 19:52, , 1F
建議現在改用matlab 你才來的及畢業
09/10 19:52, 1F

09/11 00:25, , 2F
良心的建議
09/11 00:25, 2F
文章代碼(AID): #1K42vlis (Visual_Basic)
文章代碼(AID): #1K42vlis (Visual_Basic)