用matlab移动平均法,移动平均法的matlab程序怎么写

e76051b0077ae7765deac3bddca60354.png

先分析一下你写的程序吧。function y=sma(x,n) 输入为数组x,和数组的长度length(n)

for i=3:n; 你定义了一个循环变量i,但是后来却没有用到

N=3; N应该是你公式里的N吧,

t=3; t应该是你公式里的t吧

sum=x(t)/N; 你定义的sum就是一个数,而不是数组

for t=3:3-N+1

t=t-1; 这步你会让循环变量在加一后减一成为死循环。

sum=sum+x(t)/N

end

end

sum 使最后显示结果

总结来说,你想得到一个sum的数组,事实上是一个矩阵,而sum是关于N和t,N可以取1到length(x),t也可以取1到length(x);在这里sum是一个20×20 的数组,而当然有些t和N是超出了可能的值比如(1,3);规定这些位上的值是0;

x=[100.0 122.1 130.8 138.5 141.5 147.7 153.6 166.8 177.5 198.8 244.5 268.4 273.9 277.5 281.2 314.7 440.3 527.9 550.1];

n=length(x);

for t=1:n

for N=1:n

if t

sum(t,N)=0;

end

if t>=N

temp=0;

for i=1:N

temp=temp+x(t+1-i);

end

sum(t,N)=temp/N;

end

end

end

最后得到的sum即时你的F是关于t和N的值

◆◆

评论读取中....

请登录后再发表评论!

◆◆

修改失败,请稍后尝试

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值