作者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/m.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