[討論] 請問FOR迴圈的撰寫方式有無問題已回收

看板MATLAB作者 (緣份的天梯)時間15年前 (2010/12/22 10:20), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
小弟最近再看一篇PAPER 想將該數學公式轉為程式碼 可是對於迴圈的撰寫的方式不是很熟悉 因此想來這裡請教各位大大 問題如圖所示 http://img254.imageshack.us/img254/3679/20101208203918.jpg
PAPER的範例如下 ======================== n=2 , p1=1, p2=100, d1=1,d2=0 a=-0.5; 在使用[2,1]的方式排序可得到 Lmax=100 使用[1,2]的方式排序可得到 LmaxsStar=71.7 ======================== 自行撰寫的程式碼如下 ================================ job_num = 2; p = [1 100]; d = [1 0]; a = -0.5; %-----------------------EDD----------------------- [sort_val,sort_ind]=sort(d); sum = 0; for j = 1:job_num tmp = 1; for i = 1:j-1 tmp = tmp+p(sort_ind(i)); end z = tmp^a; sum = max(sum+p(sort_ind(j))*z); sum_all = sum-d(sort_ind(i)); end Lmax = sum_all %-----------------------SPT---------------------- [sort_val,sort_ind]=sort(p); sum = 0; for j = 1:job_num tmp = 1; for i = 1:j-1 tmp = tmp+p(sort_ind(i)); end z = tmp^a; sum = max(sum+p(sort_ind(j))*z); sum_all = sum-d(sort_ind(j)); end LmaxStar = sum_all =================================================== 可否請問板上的各位大大 小弟自行撰寫的FOR迴圈不知有無問題呢 因為job_num的值可能會帶入更大的件數 因此擔心程式碼要是一開始就有問題2筆工作可能察覺不出來 但工作件數越大時就會產生一些問題 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 125.230.126.166
文章代碼(AID): #1D4M1pf5 (MATLAB)