for i=5:1:97
h=[];
for j=hmin+2:i:hmax+2
h=[h,j];
if(j~=hmax+2)
jp=j+i;
h=[h,jp];
end
disp(h);
p=hmin;
u=1;
while(u<=numel(h))
hn=[];
while(h(u)-table3(p,1)>=2&&p<=hmax)
p=p+1;
hn=[hn,(h(u)-table3(p,1)-2)*table3(p,2)];
end
u=u+1;
c=sum(hn,['all']);
disp(c);
end
c=0;
end
end
我做的是2014年数学建模d题储药柜的设计第三问,用这个代码求某高度间隔种类下的高度总冗余。
最外面的for循环,我想用等差数列来选择高度间隔,然后步长i的值就决定了高度间隔有多少种类。里面的for循环,我让h储存步长为i时所有的高度间隔,然后与数据对应计算,求出步长为i时,各规格药盒的高度冗余,保存在hn里面,最后用c代表hn所有元素的和,再输出h和c。
但是编了一天了代码一堆问题。