想完成一个调度方面的排序,下标都是正整数,不知道哪里出错了。。。
代码:
function [O] = danji( kind,W,P,D )
kind = 0;
if kind == 1
for i=1:length(P)
O(i)=W(i)./P(i);
end
sort (O);
fliplr(O);
elseif kind == 2
for i=1:length(D);
O(i)=sort(D);
end
elseif kind == 3
for i=2:1:length(P);
p(i)=P(i);
d(i)=D(i);
p(i)=p(i)+p(i-1);
if p(i)<=d(i)
O(i)=p(i);
else p(i)=[];
end
end
sort(O);
elseif kind == 4
for i=1:length(P)
h(1)=P(1);
if i>1 && i
h(i)=h(i-1)+P(i);
x(i)=h(i)-D(i);
elseif i>k
h(i)=h(i-1)+P(i)-P(k);
r(i)=h(i-1)+P(i);
x(i)=h(i)-D(i);
g(i)=r(i)-D(i);
end
end
if i<=(k-1)
for i=2:(k-1)
if x(i)>0
A(t)=g(i);
else
A(t)=0;
end
end
elseif i>k
for i=(k+1):n
if x(i)>0
A(t)=x(i);
else
A(t)=0;
end
end
end
for i=k:n
B(t)=g(i);
end
if i<=n
for i=(k+1):n
C(t)=g(i)+P(i+1)-D(i+1);
end
else
C(t)=0;
end
O(i)=A(t)+B(t)+C(t);
sort (O);
end
0003.png
(6.37 KB, 下载次数: 0)
2018-10-19 20:12 上传
运行