如何用matlab画meyer小波,不用wavefun函数
时间: 2024-03-23 07:39:50 浏览: 190
要用 Matlab 画 Meyer 小波,可以按照以下步骤进行:
1.定义 Meyer 小波:
首先,我们需要定义 Meyer 小波的函数。Meyer小波的定义如下:
$$
\psi_{M}(t)=\sum_{k=0}^{7}h_{k} \frac{(-1)^{k}}{k !} t^{k}+\sum_{k=0}^{7}g_{k} \frac{(-1)^{k}}{k !} t^{k}
$$
其中 $h_k$ 和 $g_k$ 是预先定义好的常数,它们的值可以在文献中找到。
2.生成 Meyer 小波:
接下来,我们需要生成 Meyer 小波的函数。可以使用 Matlab 的 linspace 函数生成一个等间隔的向量,并将其传递给 Meyer 小波函数进行计算。
3.绘制 Meyer 小波:
最后,我们可以使用 Matlab 的 plot 函数绘制 Meyer 小波的图像。
下面是一个简单的 Matlab 代码示例,用于绘制 Meyer 小波的图像:
```
% 定义 Meyer 小波函数
h = [0.0, 0.0, -0.2241, 0.1294, 0.9924, 0.1294, -0.2241, 0.0, 0.0];
g = [0.0, 0.0, 0.0, -0.0342, -0.0705, 0.3979, 0.7875, 0.4321, -0.0767];
t = linspace(0, 1, 1000);
Meyer = zeros(size(t));
for k = 0:7
Meyer = Meyer + h(k+1)*(-1)^k/factorial(k)*t.^k;
Meyer = Meyer + g(k+1)*(-1)^k/factorial(k)*t.^k;
end
% 绘制 Meyer 小波图像
plot(t, Meyer);
title('Meyer Wavelet');
```
执行该代码,将得到 Meyer 小波的图像。
阅读全文