首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >移动纵向窗口(移动平均?)

移动纵向窗口(移动平均?)
EN

Stack Overflow用户
提问于 2017-10-23 06:12:15
回答 1查看 83关注 0票数 1

我有12个数据点的y和x:-180:30:179。在我绘制我的数据之后,它看起来就像一个锯齿状的图案,而且不光滑。为了使它平滑,我在30度(即+/-15度)处加了一个移动的纵向窗口。我如何一次将它向前移动一度,使纵向窗口变化为-15,15,-14,16,-13,17,…?

这是到目前为止我的代码

代码语言:javascript
复制
 %y=data %12datapoint 
 y=[90, 65, 60, 53, 70, 82, 65, 38, 44, 71, 77, 64];
 sum=0;                                                                    
 for x=-180:30:179
    for k=1:30
        sum=sum+y(x-15+k);
    end
    avg(x)=sum/30;
    sum=0;                                                                
  end
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-10-23 18:21:38

我可能是想把字里行间读得更清楚些。但听起来你并不是真的想要一个移动平均线。这听起来像是你想要你的“锯齿”线平滑或内插。如果这是正确的,您可以这样做:

代码语言:javascript
复制
y=[90, 65, 60, 53, 70, 82, 65, 38, 44, 71, 77, 64];
x = -180:30:179;

newX = -180:1:179; %Every degree
y_spline = interp1(x,y,-180:1:179,'spline');
y_pchip = interp1(x,y,-180:1:179,'pchip');

l(1) = plot(x,y,'Color',[0 0 1],'Marker','s');hold on
l(2) = plot(newX,y_spline,'r');
l(3) = plot(newX,y_pchip,'g');
grid on; legend(l,{'Orig','spline','pchip'});

选择插值方法..。或者我可能完全误解了你的问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46882960

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档