|
楼主 |
发表于 2009-12-27 22:27
|
显示全部楼层
回复10楼 ChaChing 的帖子
主任 我还是有问题想请教一下:
1、这里的k表示周期,每个周期都有L个A值,L是个变量,所以我觉得 a1=1:k;
这种错误的表达是我没有表达清楚而造成的,不好意思;
2、 eval(['A',num2str(ii),'=aa(ii,:);']);
这个是什么意思 可以麻烦简单的解释下么?我help 了 但是还是没看懂 :@L
3、程序的大概构架是这样的:
for k=1:index
.................
if POS(1,k)<=Po
L=2;
WIS(1,k)=max(POS(1,k),0);%制造商生产部门在制品投产量(即零部件和原材料出库量)
WPR(1,k)=WIS(1,k);
MIS(1,k)=max(min(WI(1,k-1)+WIS(1,k-1),WB(1,k-1)+WIO(1,k-1)),0);
WPR(1,k-2)=MIS(1,k);
A2(1,k-1)=MIS(1,k-1); %这里是由于L=2 所以有A1 A2
A1(1,k)=WPR(1,k-1);
A2(1,k)=A1(1,k-1);
MSL(1,k)=A1(1,k)+A2(1,k); %制造商销售部门产品在途量
else if POS(1,k)>Po
WIS(1,k)=max(POS(1,k),0);%制造商生产部门在制品投产量(即零部件和原材料出库量)
WPR(1,k)=WIS(1,k);
WOS(1,k)=min(WI(1,k-1)+WIS(1,k-1),WB(1,k-1)+WIO(1,k-1));%制造商生产部门在制品完成量(即产品生产量)
Uo=WOS(1,k);
L=ceil(Lo+ (POS(1,k)-Po)/Uo); %这里决定了L是变量
MIS(1,k)=WOS(1,k);
WPR(1,k-L)=MIS(1,k);
aa=zeros(T,k); %%现在的问题就在这里 我实在是不会表示了 L个A, 还有着类似于下面注释部分的关系
(当然注释部分的表达不是MATLAB的表示,只是大概这个意思)
for ii=1:T
aa(ii,ii:k)=a1(1:k-ii+1);
end
% for i=1:T
% A(L)(1,k-1)=MIS(1,k-1);
% A(i)(1,k)=WPR(1,k-1);
% A2(1,k)=A1(1,k-1);
% A(i+1)(1,k)=A(i)(1,k-1);
% end
MSL(1,k)=sum(aa);
end
end
end
谢谢你,帮帮忙了,就等着这个程序毕业了,搞不定年都过不好,跪谢跪谢 !! |
|