蓝色图是原始图(红色)的嘈杂图。有没有办法将蓝色绘图近似为近红色图?
答案 0 :(得分:13)
让我们定义一个波浪函数:
x = 0:.1:20;
y1 = 5*sin(x) + 2*x - x.^2 +.3*x.^3 - .2*(x-15).^4 - 10*x.^2.*cos(x./3+12).^3 + .5*(x-12).^4;
并添加大量噪音:
r = randi(1000,1,201) - 500;
y2 = y1+r;
现在制作一维高斯滤波器,使用我们的函数对其进行标准化并convolve:
g = gausswin(20); % <-- this value determines the width of the smoothing window
g = g/sum(g);
y3 = conv(y2, g, 'same')
让我们看看结果
figure;
hold on;
plot(y1, 'r', 'linewidth', 3);
plot(y2, 'b');
plot(y3, 'g', 'linewidth', 3);
红色原始功能,蓝色嘈杂版本,绿色平滑,“恢复”功能。
答案 1 :(得分:11)
另一个选择是使用&#39; smooth&#39;。我喜欢使用它,因为它是单行功能。使用@Junuxx先前答案的代码:
x = 0:.1:20;
y1 = 5*sin(x) + 2*x - x.^2 +.3*x.^3 - .2*(x-15).^4 - 10*x.^2.*cos(x./3+12).^3 + .5*(x-12).^4;
r = randi(1000,1,201) - 500;
y2 = y1+r;
现在申请顺利:
ys = smooth(x,y2,0.25,'rloess');
plot(x,y2,x,ys)
欲了解更多信息:
doc smooth
答案 2 :(得分:2)
答案 3 :(得分:2)
<a class="navbar-brand custm-navbar-brand" href="@Url.Action("Index", "Submission")">
<img src="@Url.Content("~/Content/images/eed-main-logo.png")" alt="E-Editorial Discovery" width="335" height="56">
</a>
需要信号处理工具箱
gausswin()
需要曲线拟合工具箱
如果您没有这些工具箱,这里有一个简单的smooth()
实现:
<强> smooth.m:强>
smooth()
{@ 1}}的结果,使用@Junuxx代码: