作者newtypehuman (去吧我的爱)
看板MATLAB
标题[求救] 回圈递减
时间Tue Dec 5 01:02:30 2017
小弟初学菜鸟 第一次发问
想写一个简单的(S,s)存货系统 i为天数
S为初始存货数量 dem为需求 re为剩余
只要剩余小於s 就要补充S-s个货品
目前想法如下
function re=inven(S,s,dem)
Q=S-s;
for i=1:20
re(i)=S-dem*i;
if (re(i)<s)
re(i)=re(i)+Q;
end
end
但是出来的结果为
>> inven(50,15,5)
ans =
45 40 35 30 25 20 15 45 40 35 30 25 20
15 10 5 0 -5 -10 -15
结果只会补货一次 请问该怎麽改才能让他重
复补货而不会只补一次呢? 感谢高手指导
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 115.82.48.154
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/MATLAB/M.1512406953.A.1D3.html
1F:推 BellCranell: 一直都有再补货 只是你第九个出来结果是-的 会让你以12/05 02:08
2F:→ BellCranell: 为程式有照你的想法走12/05 02:08
3F:→ BellCranell: re(9) = 50 - 9*5 = 5, re(9) = 5 + 35 = 4012/05 02:10
不好意思我不太了解您的意思 第一次剩余小於15时的确有补货 但是第二次小於15时时就
没有补 导致变成-的 我想改的就是这里 要让re(15)=15+35-5=45
※ 编辑: newtypehuman (115.82.48.154), 12/05/2017 02:32:25
喔喔我知道我的盲点在哪里了 我想要的是每天都会减少5个需求 第二天的剩余为45-5=40
第三天为40-5=35 ...所以是回圈里面写错了吗? 那我应该怎麽改呢?
※ 编辑: newtypehuman (115.82.48.154), 12/05/2017 02:40:10
4F:→ LiamIssac: re(i+1) = re(i) + Q 12/05 12:53