在 cmets 中,您要么想要对点进行某种插值、平滑或二次采样。让我们来看看所有的方法:
方法 1 - 二次抽样
这很容易做到。假设您的两个数据点都存储在x 和y 中,您可以指定要从数据中采样的频率。例如,如果您想每 10 个点采样一次,您可以执行以下操作:
xsample = x(1:10:end);
ysample = y(1:10:end);
plot(xsample, ysample);
plot 已经为您在每个点之间进行线性插值。这是plot 的默认行为。
方法 2 - 插值(非线性)
您可以像我们上面所做的那样对您的点进行二次采样,然后使用interp1 在“关键点”之间进行插值。假设您要进行spline 插值。因此:
yinterp = interp1(xsample, ysample, x, 'spline');
plot(x, ysample);
方法 3 - 平滑
如果您有曲线拟合工具箱,则可以使用smooth 函数。 smooth 函数的默认行为是移动平均线。它基本上将您的点放在一个有限大小的窗口内,对它们进行平均,这就是 一个 样本的输出。平均值为您提供了一个平滑版本的数据输出。默认窗口的宽度为 5,但您可以指定所需的任何跨度。
ysmooth = smooth(y); %// or you can do ysmooth = smooth(y, N);
%// where N is the size of your smoothing window
plot(x, ysmooth);
注意:N 必须是奇数(1、3、5 等)
希望其中一种方法对您有用!