tag:blogger.com,1999:blog-3550204829234352390.post2674882903303841190..comments2024-03-27T09:13:48.546+08:00Comments on 研發養成所 ( Bridan's Blog - 4rdp, For R&D Person ): 演算法訓練 3 ─ Moving AverageBridanhttp://www.blogger.com/profile/17055047757114667099noreply@blogger.comBlogger4125tag:blogger.com,1999:blog-3550204829234352390.post-65004004498698638192015-01-06T13:28:05.589+08:002015-01-06T13:28:05.589+08:00行天下,
你總是會提供令人料想不到的方法,這方式不錯,倒過來算,然後又減少計算量。
行天下,<br />你總是會提供令人料想不到的方法,這方式不錯,倒過來算,然後又減少計算量。<br />Bridanhttps://www.blogger.com/profile/17055047757114667099noreply@blogger.comtag:blogger.com,1999:blog-3550204829234352390.post-69425978714149254362015-01-06T01:19:02.584+08:002015-01-06T01:19:02.584+08:00我想以下的演算法可能效率高些
先 count 數值個數,
1. n <10 不計算
2. n...我想以下的演算法可能效率高些<br />先 count 數值個數, <br />1. n <10 不計算<br />2. n>=10, <br />今天的 MV = (X1 + X2...+X10)/10, 往前回推10個值計算平均值 <br />昨天的 MV(1) = MV+(-X1 + X11)/10, 今天的MV值 (減 昨日值 加前11日值)/10<br /><br />好處是效率高些,壞處是後人比較不好 re-use 這個 function.行天下https://www.blogger.com/profile/04992727596324526135noreply@blogger.comtag:blogger.com,1999:blog-3550204829234352390.post-9456155755412787162014-12-27T21:36:10.030+08:002014-12-27T21:36:10.030+08:00fu-i 你好,
PID 確實是本格文章閱覽率最高的,很高興認識你,謝謝提供程式範例。fu-i 你好,<br /><br />PID 確實是本格文章閱覽率最高的,很高興認識你,謝謝提供程式範例。Bridanhttps://www.blogger.com/profile/17055047757114667099noreply@blogger.comtag:blogger.com,1999:blog-3550204829234352390.post-27116382080825533662014-12-27T12:34:12.755+08:002014-12-27T12:34:12.755+08:00你好, 在GOOGLE PID用法時碰巧看到您的文章, 所以用C#與法試寫了一個:
...你好, 在GOOGLE PID用法時碰巧看到您的文章, 所以用C#與法試寫了一個:<br /> <br /> private int counter = 0;<br /> private bool flag = true;<br /> private Queue FIFO = new Queue();<br /> private float answer;<br /><br /> public float add_new(float current_data)<br /> {<br /> switch (flag)<br /> {<br /> case true:<br /> FIFO.Enqueue(current_data);<br /> if (counter == 9)<br /> {<br /> flag = false;<br /> answer = FIFO.Average();<br /> }<br /> else<br /> {<br /> counter++;<br /> answer = 0;<br /> }<br /> break;<br /> default:<br /> FIFO.Dequeue();<br /> FIFO.Enqueue(current_data);<br /> answer = FIFO.Average();<br /> break;<br /> }<br /> return answer;<br /> }Ryan Chouhttps://www.blogger.com/profile/05391109574322971294noreply@blogger.com