[討論] 請問FOR迴圈的撰寫方式有無問題已回收
小弟最近再看一篇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