MATLAB之家

专注于收录分享MATLAB代码、技巧、经验!
当前位置:网站首页 / MATLAB基础 / 正文

matlab中movavg函数的用法

2017-04-11 / MATLAB基础 / 2446 次围观 / 0 次吐槽

movavg是一个取移动平均很好用的命令。之前对于一个股价序列wdata,为了取ma5和ma20,我不得不写好几个循环。

其中ma5是:

for t=i-4:i
   ma5(t,1)=wdata(i)/5+ma5(t,1);
end

还需要考虑到初始项,不能让数据发生溢出,比如出现wdata(0)或者wdata(-1)这样的项。

而使用movavg命令的话,代码就简化成了

[ma5,ma20]=movavg(wdata,5,20);

ma5就直接成为了时间段为5的移动平均项。其中ma5(1,1)=wdata(1,1)/5 ,ma5(2,1)=sum(wdata(1:2))/5。

而不需要考虑最前端的数据了。拿来用的时候直接从ma5(20)与ma20(20)开始使用,数据就是正常的了。

[Short, Long] = movavg(Asset, Lead, Lag, Alpha)

最后一项可以添加alpha,默认为0,简单的移动平均。0.5意味着平方根权重的移动平均,1意味着线性移动平均,2意味着平方权重的移动平均。e意味着指数权重的移动平均。


推荐您阅读更多有关于“MATLAB之家movavg函数,”的文章

请在这里放置你的在线分享代码
本站所有文章如无特别注明均为原创。作者: ,复制或转载请以超链接形式注明转自 MATLAB之家
原文地址《matlab中movavg函数的用法
额 本文暂时没人评论 来添加一个吧

发表评论

必填

选填

选填

必填

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

Powered By Z-BlogPHP,Theme By zblog模板

Copyright©2021. MatlabHome All Rights Reserved. 蜀ICP备15004325号-1

分享:

支付宝

微信

扫一扫,想赞多少就多少~