[討論] 請問比對求解問題...已回收

看板MATLAB作者 (= =)時間14年前 (2011/05/23 23:37), 編輯推噓0(001)
留言1則, 1人參與, 最新討論串1/1
各位高手你們好,我在寫一個窮舉法的比對求解遇到了問題 程式的概念是,先窮舉1-10的所有排列組合, 再利用這些組合依次和EXCEL裡的資料作比對, 只要EXCEL矩陣位置大於0等於排列組合的值就代入指定的數值 一個排列組合和EXCEL比對完後,再換下一個排列組合 EXCEL有一個10X10的矩陣,比對後每一行都會挑出最大值 將這十個值加起來就得到這一排列組合的總值, 最後再將總值最大的排列組合的值顯示出來。程式如下: ------------------------------分隔線------------------------------------ A = perms(1:10); A = A'; [N]=xlsread('a.xls'); X=zeros(10,1); for k=1:1:10; il = A (:,k); for i=1:1:10; for j=1:1:10; if find(N(i,j)>0); if j ==il(1,:); %儲位距離設定 N(i,j)=2; elseif j==i1(2,:); N(i,j)=4; elseif j==i1(3,:); N(i,j)=4; elseif j==i1(4,:); N(i,j)=6; elseif j==i1(5,:); N(i,j)=8; elseif j==i1(6,:); N(i,j)=10; elseif j==i1(7,:); N(i,j)=10; elseif j==i1(8,:); N(i,j)=12; elseif j==i1(9,:); N(i,j)=14; elseif j==i1(10,:); N(i,j)=16; end; else N(i,j)=0; end; end; m1=m1+max(N(i,:)); %選出單筆訂單中距離最大者,並依每張訂單累加 end X = m1; %列出所有訂單距離的總合 end; max(X) %列出最佳距離組合之值 -----------------------------分隔線-------------------------------------- 小弟不才,編譯一直卡在elseif j==i1(2,:);這裡, 真的想了很久,請板上各位高手指點一下,感激不盡。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.249.106.4

05/25 16:24, , 1F
我找出來了,是小弟迷糊變數i1打成il(L)...
05/25 16:24, 1F
文章代碼(AID): #1DsdyoT1 (MATLAB)