Matlab - sgolayfilt函数

Savitzky-Golay是一种平滑滤波方法,经常用于数据去噪。Matlab中用于实现Savitzky-Golay滤波的函数是`sgolayfilt`。

基本语法如下:

```matlab
y = sgolayfilt(x, order, framelen)
```

参数的含义如下:

- `x`:输入信号,是一个向量。
- `order`:滤波器的阶数,它定义了拟合窗口内的多项式的阶数。
- `framelen`:滤波器的帧长度,它必须是一个奇数。

返回值 `y` 是经过Savitzky-Golay滤波后的信号。

例如,对一个随机产生的信号进行Savitzky-Golay滤波:

```matlab
x = randn(1,100); % 产生一个随机信号
y = sgolayfilt(x, 3, 11); % 进行Savitzky-Golay滤波
```

以上代码会对信号x进行3阶,窗口长度为11的Savitzky-Golay滤波。

参考:

Savitzky-Golay filtering - MATLAB sgolayfilt- MathWorks 中国

你可能感兴趣的:(matlab,开发语言)